Jailcoder with SDK 6.0

2019-03-17 02:15发布

问题:

I am new to iOS. I was installing latest XCode with SDK 6.0 in it. I have been successfully testing my app developed using SDK 6.0 on simulator. Now i want to test it on real device without developer program account. To do that, i use Jailcoder. I have an iPhone 3GS, with AppSync 5.0+ installed. I have tried "Quick XCode Patch" and "Patch My Project". However i still get signing error. It said,

CodeSign error: code signing is required for product type 'Application' in SDK 'iOS 6.0'

Seems it due to iOS 6.0 SDK that has not been supporting jailbroken devices. I need some hints and workarounds to deal with this error.

回答1:

By default, Xcode requires iOS apps to be signed. However, there is a plist file that Xcode uses, where you can change this. You can tell Xcode that code signing is not required.

Check this file:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/SDKSettings.plist

You can edit it on your Mac with the Property List Editor application.

Make sure that in that file, CODE_SIGNING_REQUIRED is set to NO. You'll probably need to do this each time you install a new iOS SDK (e.g. 5.0, 5.1, 6.0, etc.)

You can find out more about this on the BigBoss website here. BigBoss is one of the popular Cydia repositories for distributing jailbreak apps and tweaks.



回答2:

I had same problem with a jailbroken iPhone 4S, solution above didn't work for me.

So for anyone else running into the same error message: JailCoder does work on XCode 4.5 + Mac OS 10.8.

As an absolute noob I was missing the step 8 from this guide: Developing for a Jailbroken iPhone A to Z:

...link the device and computer. Plug your iPhone in and open Xcode. Open Window>Organizer. Select the device from the list on the left hand side, and click “Use for development.” You’ll be prompted for a provisioning website login, click cancel. It’s there to make legitimate provisioning easier, but doesn’t make illegitimate not-provisioning more difficult.