Developing and debugging my own apps on JailBroken iOS8.1 using XCode 6.1 without paying apple

A while back I used an app called JailCoder to enable me to run and debug my own apps on my jailbroken iPhone 5S without having to pay Apple for a full developer account. I’m still learning iOS development and I have nothing I want to submit to the app store, so I’m reluctant to pay the £100 that Apple wants to enable me to run my own code on my own device.

Given that XCode is free, and that £100 per year would gives me the ability to sell apps through the app store, I think it’s a bargain if you are actually planning to distribute apps, but for me just learning it seems a bit steep.

There don’t seem to be many tutorials out there telling you how to do this for iOS8.1 and XCode 6.1 (they are all a bit outdated), but this is what worked for me:

  1. On your Jailbroken device install AppSync Unified 5.2-1 (or later) from AngelXWind’s repo. Don’t use any other AppSync, and if you have others, be sure to remove them.
  2. Open /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/SDKSettings.plist and change AD_HOC_CODE_SIGNING_ALLOWED to YES. You may need to duplicate it to the desktop, change it, save it, then drag and drop back into the original folder because OS X let you edit the file in place.
  3. If XCode was running, restart XCode.
  4. Change your Project and Target settings to “Ad Hoc Code Sign” in Build Settings
  5. Tell XCode to run app on iPhone. At this point XCode will put app on your iDevice, but can’t debug because it can’t attach to the process. The app will start then close immediately. You can now manually start the app on the phone now though.
  6. To enable debugging: In your project select File>New File Property List and create a file called “Entitlements.plist”. Add “Can be debugged” or “get-task-allow” (both do the same thing) and set the value to YES.
  7. Now change your Project and Target Code Signing Entitlements (In Build Settings) to “Entitlements.plist” (you have to type it in).

Now XCode can run and debug the app. Good luck

Note that some poeple have issues because they have other appsyncs installed. Remove all other appsyncs and install AppSync Unified from http://cydia.angelxwind.net/ (you’ll have to add this repo to cydia)

Thanks to Karen and Linus for developing AppSync Unified.

This subreddit may be helpful

64 thoughts on “Developing and debugging my own apps on JailBroken iOS8.1 using XCode 6.1 without paying apple

  1. Hey man, thank you so much. I can’t say how much I am happy to have debug on my iPhone…Tnx Again.
    Also I should say I use Appsync from HackYouriPhone Source and I have installed it and apple file conduit 2, and it simply works good.

  2. Thanks for the awesome article. Currently I am trying to compile a test application (just a blank page, no code behind) but I am still struggling to get the app onto my iPad.
    I modified the plist accordingly and restarted XCode, but when I click on Build&Run I still get asked for a vald signing certificate. I have a self signed code signing certificate in my keychain, which I can of course not choose. I have AngelXWing’s Appsync installed.

    Here is my SDKSettings.plist:

    AlternateSDK
    iphonesimulator8.1
    CanonicalName
    iphoneos8.1
    CustomProperties

    DefaultProperties

    AD_HOC_CODE_SIGNING_ALLOWED
    YES
    CODE_SIGNING_REQUIRED
    NO
    CODE_SIGN_ENTITLEMENTS

    DEAD_CODE_STRIPPING
    YES
    DEFAULT_COMPILER
    com.apple.compilers.llvm.clang.1_0
    ENTITLEMENTS_REQUIRED
    NO
    GCC_THUMB_SUPPORT
    YES
    IPHONEOS_DEPLOYMENT_TARGET
    8.1
    PLATFORM_NAME
    iphoneos
    SUPPORTED_DEVICE_FAMILIES
    1,2

    DisplayName
    iOS 8.1
    DocSetFeedName
    Apple iPhone OS 8.1
    DocSetFeedURL
    http://developer.apple.com/rss/com.apple.adc.documentation.AppleiPhone8_1.atom
    IsBaseSDK
    YES
    MaximumDeploymentTarget
    8.1.99
    MinimalDisplayName
    8.1
    MinimumSupportedToolsVersion
    3.2.3
    Toolchains

    com.apple.dt.toolchain.iOS8_1

    Version
    8.1

    Is anything different for you?

  3. HI. Thank you very much for a good summerized tutorial. But I have a problem. It gives me this error:
    error: The file “Entitlements.plist” couldn’t be opened because there is no such file.

    I have seen the pictures @ Suleman uploaded and I have done just like it but it still gives me this error! Could you help me?

  4. I just started iOS developing and that way deal with rather simple apps. My biggest issue was to begin testing without an developer account. Your guide finally enabled me to test my apps on my device. Thanks a lot! I can confirm that your guide works with iOS 8.1.2, Xcode 6.1.1.
    You made my day!

  5. I still got the no code signing identify found alert. I have followed all steps and made sure mine was the same as shown in the images…

  6. Hi,
    thanks for your guide. I make it successfully.
    Here’s my env:
    OS: MAC 10.10
    Xcode: 6.1.1
    Device: iTouch4 6.1
    Thanks again.

  7. Was having some problems until I made sure I was changing the build settings n the right project (click just above Basic (in build settings), make sure your project (topmost normally) is selected).

    Otherwise you get code signing failed error

  8. I did the same trick on xcode 6.4, but unfortunately this trick is not working anymore. I’m getting the ‘Application could not be verified’ error. Does somebody knows a workaround?

  9. hi!
    ´m getting this
    “app installation failed
    the application could not be verified”

    any idea about what’s wrong?
    i´m running a Yosemite 10.10.4 with Xcode 6.4
    on an iPad Air 2 with iOS 8.4

    thanks!

  10. Followed all these steps exactly, also installed correct AppSync Unified, still getting error “app could not be verified”

  11. For anyone who still has this issue, I was able to find the solution after hours of searching, which is to add the key “application-identifier” to the Entitlements.plist, with this string value: $(AppIdentifierPrefix)$(CFBundleIdentifier)
    Apparently Xcode (6.4) and iOS (8.4) require an application-identifier tag in order to install the application.
    from: https://github.com/angelXwind/AppSync/issues/7

  12. You no longer need to tweak the settings. If you have the latest iOS Xcode will allow you to install the app on your device.

Leave a Reply

Your email address will not be published. Required fields are marked *