In this tutorial I will show you how to fake code sign applications in Xcode. This dosen't seem to work for all people, i'm not sure if it's because they didn't follow the tutorial correctly or because of some sort of Xcode update. If you are having trouble, restart Xcode and follow the tutorial again or ask for help by commenting on this topic. If you don't understand any of the buttons or menus I'm talking about in Xcode look at my Xcode Project Window Guide.
The plist file...
First of all you have to edit the plist file, to do this navigate to /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/. Once in the SDKs folder you should see a bunch of iPhone OS folders. Choose the iPhone OS that you want to build your application in. For example if you were building your application for an iPhone with OS 3.1.3 you would choose the folder iPhoneOS3.1.3.sdk.
Once in the iPhone OS folder select the SDKSettings.plist and drag it to your desktop. The reason for this is because Apple is trying to stop you editing the file by making it read only. By moving the file to the desktop you make an editable copy of the file. Here is a simple example of what you have to :P.
Once the file has been copied to the desktop double click on the file. If it doesnâ€™t open with Property List Editor right click on the application and click â€œOpen Withâ€ and then click â€œOtherâ€¦â€. Navigate to /Developer/Applications/Utilities/. In the Utilities folder click Property List Editor.
Once the Property List Editor has opened the file, click the little arrow next to Default Properties. Then edit CODE_SIGNING_REQUIRED and change YES to NO.
Save the file and move it back into iPhone OS folder replacing the original file. A popup should appear telling you the file can't be modified. To fix this Click Authenticate.
Then click replace.
Enter your password and click OK.
Operation donâ€™t Code Sign
Before you compile there is one more thing you must do. Open up your project in Xcode and select your project in the Groups & Files list. Then Click the Info Button.
A popup should come up with all the project info. Click the Build tab and scroll down to Code Signing. If you canâ€™t find the Code Signing section make sure Configuration is set to "All Configurations" and make sure your showing "all settings". In the Code Signing section click the arrow next to Code Signing Identity. Change Code Signing Identity and Any iPhone OS Device to â€œDonâ€™t Code Signâ€.
It's building time!
Finally open The Overview pop-up menu and change Active SDK to the iPhone OS you changed earlier to not require code signing. Make sure you choose Device and not simulator and set Active Configuration to release. Click Build and Run and it should build with no errors except for coding errors youâ€™ve made of course.
To get your application, navigate to where your project is saved and open the build folder, then open Release-iphoneos folder and you should find your application. If not, go through this tutorial again or contact me, I will be happy to help :).
Application â†’ iPhone
To put the application on your iPhone your going to need a jailbroken iPhone, iPod touch or iPad as I said earlier. Before we can add the application to your iPhone, you're first going to have to download some packages from Cydia. Launch Cydia and download OpenSSH and Link Identity Editor, which are both on saurikâ€™s repo (http://apt.saurik.com/).
When you have downloaded both packages you will need to download an SSH application. I'll be using Transmit as it has a huge amount of features and a great design. The only problem with Transmit is it's not free. If you donâ€™t want to pay, I recommend Cyberduck.
When you have downloaded an FTP application, you will need to the server name, username, path, password, port and protocol.
To find the server get your device and launch the Settings app. Then go to Wi-Fi and tap the white arrow next to youâ€™re Wi-Fi. When you have done that, select DHCP and then look for your IP Address. For the user name put "root" and for the password put "alpine", unless you have changed it. For path you can put â€œ/â€ or just leave it blank and for port put 22. The protocol is SSH or SFTP. Make sure you have OpenSSH installed or the following won't work.
Once you have entered all the information press connect and navigate to /private/var/stash/Applications. Copy and paste your application into the Applications folder.
The next thing you need to do is give your application the correct permissions. In transmit right click on your application and click get info. Set the permissions to 775, then click Apply and then Apply to Enclosed Items. If you are using Cyberduck right click on the folder and click info, then click the Permissions tab and in Octal Notation set the permissions to 755 and select the box Apply Changes recursively.
When you have changed the Application permissions, open the terminal located in /Applications/Utilities. Make sure Link Identity Editor is installed on your device or this wonâ€™t work! To use the Link Identity Editor we have to SSH into your iPhone via the terminal. For any of you who don't know, the Link Identity Editor is used for Code Signing applications.
To SSH into your device type:
ssh root@â€¹IP Addressâ€º
To find your IP, get your iPhone, iPod touch or iPad and launch the Settings app. Then go to Wi-Fi and tap the white arrow next to youâ€™re Wi-Fi. When you have done that, select DHCP and then look for your IP Address.
If it's successful it should make you enter your password. The password is "alpine" unless you have changed it. Keep in mind that no letters or black circles will show up on screen when you enter your password. When you have typed in your password press enter and you should be in the root of your device.
Now you need to navigate to the Applications folder. To do this enter:
Now that you're in the Applications folder type "ls" and press enter. This will list all the applications in the Applications folder.
cd â€¹application Nameâ€º.app
I am going to be using iForum so I will type:
Now that you're in the application type:
ldid -s â€¹application Nameâ€º
For Example, for iForum I would type:
ldid -s iForum
You're finally done! You application will run and can be submitted to Cydia! To get your application for Cydia submission, just ssh into your iPhone and copy and paste your application out of the Applications folder and on to your desktop. You can submit your application to Cydia here.