By Cyclone


2011-02-10 02:36:02 8 Comments

How can I test an iOS application on my ipod touch without registering for the apple developer program or jailbreaking my ipod?

Neither is a viable option at the moment.

I'd like to test on the device itself instead of the onscreen emulator, to see how it performs on an actual ipod.

9 comments

@WrightsCS 2011-02-10 04:33:09

There's a way you can do this.

You will need ROOT access to edit the following file.

Navigate to /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk and open the file SDKSettings.plist.

In that file, expand DefaultProperties and change CODE_SIGNING_REQUIRED to NO, while you are there, you can also change ENTITLEMENTS_REQUIRED to NO also.

You will have to restart Xcode for the changes to take effect. Also, you must do this for every .sdk you want to be able to run on device.

Now, in your project settings, you can change Code Signing Identity to Don't Code Sign.

Your app should now build and install on your device successfully.

UPDATE:

There are some issues with iOS 5.1 SDK that this method may not work exactly the same. Any other updates will be listed here when they become available.

UPDATE:

You can find the correct path to SDKSettings.plist with xcrun.

xcrun --sdk iphoneos --show-sdk-path

New SDKSettings.plist location for the iOS 5.1 SDK:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk/SDKSettings.plist

@David Gelhar 2011-02-10 04:50:18

This will build a non-signed app, but how are you going to install/run it on a non-jailbroken device?

@WrightsCS 2011-04-08 15:12:34

It will install it onto your device.

@Domness 2011-06-21 19:19:34

It may install but it will never open.

@WrightsCS 2011-06-26 18:29:58

If you know what you are doing it will. I do it quite often.

@newenglander 2011-08-02 12:15:24

is there a trick to install it?

@WrightsCS 2011-08-02 16:33:05

you can also look into ldid. it's used to fake sign the app. I dont think it is required though.

@Nils 2011-11-09 20:24:10

So you claim it is possible to run your app on your iDevice w/o paying the 100$ dev fees? Didn't work for me on IOS5, it complained that the build was not signed.

@WrightsCS 2011-11-09 20:52:24

Yes, as of iOS5 it is still possible. You will still need ldid to fake code sign your binary. code.google.com/p/networkpx/downloads/detail?name=ldid

@WrightsCS 2011-11-09 20:53:38

If you upgraded your SDK, then you need to repeat the steps above again because the files were replaced.

@krammer 2011-12-21 13:25:01

This thread seems to be a bit old. I tried your technique in the answer but I still get "No code signature found" message while building the code. I am using Xcode 3.2, iOS SDK 4.3 and testing on iphone 4

@WrightsCS 2011-12-21 15:31:30

The thread is old, but I still use this method with the latest SDK.

@krammer 2011-12-22 08:43:47

@WrightsCS I tried exactly what you mentioned, I get an error that: "The application does not have a valid signature."

@krammer 2011-12-22 08:54:22

now building a fresh project and the error says: "No code signature found"

@David 2011-12-28 10:36:12

Done everything as WRight said but got this error > Code Sign error: The identity 'iPhone Developer' doesn't match any valid certificate/private key pair in the default keychain

@WrightsCS 2011-12-28 19:14:56

@David you need to make sure that you have all of your Code Signing Identities set to Do Not Code Sign Make sure you check your Project settings and your Target settings.

@flakerimi 2012-03-04 11:29:00

This Works. Cool

@code ninja 2012-03-06 13:45:36

Works beautiful on jailbroken ios 5. Thank you

@BoltClock 2012-03-23 17:58:58

Needless to say, make sure you actually sign your stuff before submitting them to Apple!

@TechnocraT 2012-04-05 07:01:01

I've followed the steps you mentioned, connected the device and clicked build and run but I get the message 'No provisioned iOS device is connected. Please check the Organizer to view the status of any connected devices.'

@dc- 2012-04-05 20:05:18

New SDKSettings.plist for 5.1 can be found here: stackoverflow.com/questions/9898039/…

@malhal 2012-09-12 18:22:35

the OP asked for a non jailbreak solution

@WrightsCS 2012-09-12 19:14:55

@indiekiduk my solution has nothing to do with jailbreaking. This works on non-jailbreoken devices as well.

@Aram Kocharyan 2012-12-22 00:56:56

This works on iOS6 for a jailbroken device (3GS) but gives the error No code signature found. for an iPhone 5, non-jailbroken.

@Nate 2013-01-19 05:20:10

Please consider cleaning up this answer. The answer itself mentions nothing about fake code signing with ldid. In your comments, you make one comment saying that signing with ldid is not needed, and in another comment, you say that it is. You also say that this answer has nothing to do with jailbreaking, but I'm pretty sure it does. Jailbreaking allows binaries to run that do not have valid signatures. If your app is not signed, or fake signed with ldid, it's not going to run on a stock iOS device ... unless you're doing something else that you haven't described here.

@Dr. chamran 2016-03-14 06:42:44

in Xcode 7.2 work correctly! -- correct path is [Xcode Package content]>Contents>Developer>Platforms>iPhoneOS.platform>Deve‌​loper>SDKs>iPhoneOS.‌​sdk>SDKSettings.plis‌​t

@Z. Khullah 2016-11-05 11:21:47

I have to buy a device and then break it, seriously??

@WrightsCS 2016-11-06 00:49:31

@Z.Khullah break it? No. You "jailbreak" it, but I never heard of anyone "breaking" their iOS device. Other than dropping it or throwing it in a blender.

@Preetha 2016-10-17 13:58:59

Follow these Steps:

1.Open the Xcode->Select the project->select targets->Tick an automatically manage signing->then add your apple developer account->clean the project->build the project->run,everything works fine.

@BoltClock 2011-02-10 02:41:16

Seven years after the inception of the App Store (July 10, 2008), Apple has finally introduced a new feature in Xcode 7 that allows you to deploy and run any number of apps on any of your devices, simply by logging in with your Apple ID. You will no longer need a paid Program membership to deploy apps on your own device (and you certainly no longer have to jailbreak your device if you're not comfortable doing so).

Well, not for the majority of use cases anyway. For obvious reasons, certain capabilities and entitlements that require Program membership such as Game Center and in-app purchases will not be available to apps deployed using this method. From Apple's developer documentation:

Launch Your App on Devices Using Free Provisioning (iOS, watchOS)

If you don’t join the Apple Developer Program, you can still build and run your app on your devices using free provisioning. However, the capabilities available to your app, described in Adding Capabilities, are restricted when you don’t belong to the Apple Developer Program.

The precise steps to getting your app onto your iOS device or Apple Watch follow immediately thus (screenshots omitted for ease of skimming):

  1. In Xcode, add your Apple ID to Accounts preferences, described in Adding Your Apple ID Account in Xcode.

  2. In the project navigator, select the project and your target to display the project editor.

  3. Click General and choose your name from the Team pop-up menu.

  4. Connect the device to your Mac and choose your device from the Scheme toolbar menu.

  5. Below the Team pop-up menu, click Fix Issue.

    Xcode creates a free provisioning profile for you and the warning text under the Team pop-up menu disappears.

  6. Click the Run button.

    Xcode installs the app on the device before launching the app.

Prior to Xcode 7, a Program membership was indeed required in order to sign the provisioning certificates required to deploy apps to devices. The only other alternative was jailbreaking. With Xcode 7, you no longer need to jailbreak your device just to run apps distributed outside the App Store, or to test apps if you cannot afford to join the Program, or to deploy and use apps that you have developed for your own personal use if you do not intend to distribute them through the App Store (in which case you probably don't need the entitlements offered by Program membership anyway).

@Mister Mister 2015-07-19 04:27:23

Just FYI: I installed Xcode 7 and tried running on my phone but I couldn't get all the build dependencies right, so I switched back to Xcode 6 and finally was able to run on my own device! Xcode 7 must add some license to your account that Xcode 6 recognizes :)

@learn_develop 2015-09-02 04:37:36

I just deployed some of the sample apps I have building over the past couple of weeks on my iPAD Air using Xcode7. Gives a much better experience to actually getting to test your app without having to pay for the subscription. This post has been really helpful. Thanks Guys.

@Miscreant 2015-09-02 07:13:40

@BoltClock I also think you should state more clearly when this change was made by Apple. "Seven years after the inception of the App Store" -> most people probably don't remember when the App Store was created and don't want to look it up or do the arithmetic.

@mutp 2015-09-19 08:10:45

Instead of Scheme, I had to go to Product->Destination. There I had to select my device. Then it worked. Also remember to allow installing such apps on your iPhone by going to Settings -> General -> Profile You will see your dev account. Tap it. You should see the app listed there. Tap on it. Tap "Trust (name here)"

@lol 2015-10-01 05:50:53

Swift 2 adopts a functional design paradigm, and will shortly be open sourced. Xcode 7 and iOS 9 bring free device provisioning to the impecunious and potentially revolutionary upcoming developers. We truly are living in an ideologically reformed era, and what a time it is to be alive.

@Ge Liu 2015-11-25 06:06:37

FYI: I have to change the project's bundle identifier to my Apple ID name to run app on device.

@dadude999 2015-12-08 06:41:14

And to distribute an app, just target "Generic iOS Device", hit Build, then grab your .app, drop it into iTunes, and you'll have an IPA, read to distribute however you want.

@user206168 2016-02-29 17:18:39

Do we have to use Xcode7? I mean I am not a Mac user; I use windows, what are the options for windows users?

@darklon 2016-06-16 10:49:03

The "Fix issue" button below the Team menu didn't work. It tells me to add a device in the member center, where I don't see such an option with a free account. But when trying to just run it on the device anyway, it gave me another "Fix issue" button in a dialog, and that one worked!

@BoltClock 2016-10-10 04:52:00

(no idea why I deleted my replies to Miscreant earlier) Someone has edited this info in now, but I honestly don't see why it was so necessary that an edit adding just that got approved. Apple has already introduced this feature. The "Seven years" was meant to highlight just how ridiculously long Apple was taking (had I not left the Program early on I would have had to pay almost a grand where I live in total just to keep using a private app). The very fact that most people don't even remember how long it has been shows that the exact date is so far off that it doesn't matter anymore.

@BoltClock 2016-10-10 05:00:37

Anyone curious about the exact date could easily find this out for themselves without depending on my answer. Those who couldn't be bothered to find this out for themselves presumably already had their priorities straight and I commend them for it. And I've yet to see any of them complain about not being able to download Xcode 7 or provision their devices or deploy their apps because they didn't know the exact date the App Store was launched.

@Alex 2016-12-18 20:46:51

The signing certificate changes to "IOS Developer" when I switch to the phone I plugged in

@Rocky 2018-03-13 05:59:27

@BoltClock can we get the .ipa file using this method? development ipa is also ok.

@Atul Kaushik 2015-10-22 17:02:38

Go to Build Settings, under Code Signing, set Code Signing Identity as iOS Developer & Provisioning Profile as Automatic.

Select your device (now visible) from drop down list and run your app.

enter image description here

@Roberto 2015-06-09 10:30:20

With Xcode 7 you are no longer required to have a developer account in order to test your apps on your device:

enter image description here

Check it out here.

Please notice that this is the officially supported by Apple, so there's no need of jailbroken devices or testing on the simulator, but you'll have to use Xcode 7 (currently in beta by the time of this post) or later.

I successfully deployed an app to my iPhone without a developer account. You'll have to use your iCloud account to solve the provisioning profile issues. Just add your iCloud account and assign it in the Team dropdown (in the Identity menu) and the Fix Issue button should do the rest.


UPDATE:

Some people are having problems with iOS 8.4, here is how to fix it.

@Fadi Obaji 2015-06-09 22:14:12

It's official, still in beta mode though

@Daniil 2015-06-23 15:19:18

Did anyone managed to use this new feature? Does not work for me

@Roberto 2015-06-23 21:32:01

Worked for me. Are you using XCode 7?

@Luke Taylor 2015-06-26 17:26:26

Any tutorials? Compiling a pythonista app for my iPad

@Luke Taylor 2015-06-26 18:07:01

What's the bundle identifier have to be?

@gondo 2015-07-01 10:44:03

what ios are you running on your iphone? i am on 8.4, i have Xcode 7, i've assigned my icloud account to my project's Team Identity, all good. i but when i connect my iphone it shows as unavailable under ineligible devices

@yazh 2015-12-17 06:31:11

i have 8.3, what should i do?

@Qadir Hussain 2016-05-10 08:54:59

@Roberto I have logged in as iCloud account (free) from xCode ->pref but I am getting this error => An App ID with Identifier 'com.jamesappv2' is not available. Please enter a different string.

@Firula 2012-06-12 15:12:29

I never tried, but doing a google search, Jailcoder looks like a solution. The problem is the device need to be jailbroken. If anyone try this, please comment and let us know how it worked.

@cool_me5000 2012-07-03 11:07:42

Worked perfectly for me. Only annoying part is that they want you to approve the addition of some certificates to keychain without telling you exactly what they're doing. They look to be the same as if you were to try doing this as a manual process, though. It's pretty seamless. I went from a clean install of Xcode to one of my apps running on my iPhone in less than 5 minutes. I'm running Xcode 4 & iOS 5.0.1 Jailbroken.

@Firula 2012-07-03 19:41:42

Great! thanks for reply back @cool_me5000. Your experience with it will help other people who wants to give it a try. I will test it someday.

@dgeske 2017-03-14 10:07:04

This is outdated and does not address the requirement set forth in the question, to do this without jailbreaking.

@Rob Vermeulen 2013-03-28 10:39:40

It's worth the buck to apply for the Apple developer program. You will be able to use ad-hoc provisioning to distribute your app to testers and test devices. You're allowed to add 100 ad-hoc provisioning devices to your developer program.

@Sean Worle 2015-05-21 05:38:00

It would be worth a buck, sure. But 99 bucks? The last time I paid someone 99 bucks to let me install a program I wrote onto my own machine was... never. And I've written a lot of programs and owned a lot of machines.

@Z. Khullah 2016-11-05 11:20:34

Yep. Its good for companies, not developers/wannabes.

@MatthewPearson 2013-02-14 12:34:00

The JailCoder references above point to a site that does not exist any more. Looks like you should use http://oneiros.altervista.org/jailcoder/ or https://www.facebook.com/jailcoder

@user914425 2013-05-30 23:44:58

jailcoder is a very nice and simple utility to have fake code sign and download app to a real device. You need iPhone Developer and iPhone Distribution certificates created.

@razor7 2012-06-28 12:13:03

just tested JailCoder www.jailcoder.com and i'm able to run and debug on jailbroken devices. You just need a fresh untouched install of xCode, if not, just uninstall and install xCode again and run JailCoder

Related Questions

Sponsored Content

4 Answered Questions

[SOLVED] Distribute iOS Application without an Apple Developer Account

3 Answered Questions

1 Answered Questions

[SOLVED] How to distribute an iPhone app for testing without getting UDIDs or jailbreaking?

  • 2015-10-15 23:52:54
  • Zbigniew Wiadro
  • 1437 View
  • 2 Score
  • 1 Answer
  • Tags:   ios beta-testing

4 Answered Questions

1 Answered Questions

[SOLVED] Test Adobe AIR mobile apps on iOS without Dev license

1 Answered Questions

0 Answered Questions

Simulating System Wide Touch Events in iOS without jailbreaking the device

  • 2012-11-16 11:27:32
  • Jayant Dash
  • 2159 View
  • 3 Score
  • 0 Answer
  • Tags:   ios

3 Answered Questions

1 Answered Questions

[SOLVED] Can I test my apps on my device for free? iOS

  • 2012-06-12 14:54:54
  • Carol
  • 1209 View
  • -4 Score
  • 1 Answer
  • Tags:   ios xcode

Sponsored Content