Running Xcode Apps without Developer License

A developer license for Apple costs $100. Now, if you know that you wish to launch an app, that's pretty cheap to get access to all of the great resources and ability to push as many apps as you want onto the App Store. However, while you're still learning to program in Swift, this can be a large barrier to entry. Luckily, as long as your phone is jailbroken it's pretty easy to get around this requirement.

These steps are designed for someone on Xcode v6.4, connecting to an iPhone running iOS 8.4, jailbroken. The first step is to make sure that 'Karen's Pineapple Repo' is added as a source to Cydia (http://cydia.angelxwind.net). Now, you need to make sure that 'AppSync Unified' is not currently installed on your phone from another repo. If it is, remove it. Now install it FROM HER REPO. Don't use any other repo.

The next thing is to change some of Xcode's settings. In Finder, hit "Command + Shift + G", and in the following window paste /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk. Now copy the file 'SDKSettings.plist' to your Desktop, and open it there. Click to expand where it says 'DefaultProperties', and you need to change/ensure three values are set.

  • AD_HOC_CODE_SIGNING_ALLOWED: YES
  • CODE_SIGNING_REQUIRED: NO
  • ENTITLEMENTS_REQUIRED: YES

Save the file, and then copy the changed file back into the folder. You'll have to Authenticate the change, and replace the existing file (it'll ask for an admin password).

Restart Xcode, and the main steps are done. The following steps will have to be done for every app you create.

  1. In Xcode, click on the name of the app in the 'Project Navigator', and then change the Target to the overall project. Click 'Build Settings', and then make sure 'All' is enabled.
  2. Go down to 'Code Signing'. Expand 'Code Signing Identity' and for all subcategories (Debug, Debug > Any iOS SDK, Release, Release > Any iOS SDK), choose 'Ad Hoc Code Sign'.
  3. Expand 'Code Signing Entitlements' and set 'Debug' and 'Release' to the string 'Entitlements.plist'.
  4. Change the Target back to the app, away from the overall project, and go to 'Info'. Copy the 'Bundle identifier'.
  5. Go to 'File'>'New'>'File', and go down to 'Resource' in the sidebar to create a new 'Property List' file. Name it 'Entitlements.plist'.
  6. Open 'Entitlements.plist' and create two keys. One, 'Can be debugged' should be set to 'YES'. The other, 'application-identifier' should be set to the copied 'Bundle identifier' value. Save everything.

Choose iPhone as the build location, make sure that the iPhone chose 'Trust' when connected to the computer, and click Run! You may need to reopen the app from the Home Screen if it closes.

Note: With the release of iOS 9, side loading apps onto an iPhone no longer necessitates a jailbreak. You can simply run it using a free Apple account.