The following guide explains how to build an unsigned iOS application in Xcode, add the necessary SHA1 hashes to the compiled binary, and transfer the application to an iOS device. Typically, Xcode will only allow applications to be built and run in the iOS Simulator unless you have paid the $99 for an Apple developer's license. I strongly recommend that you eventually purchase said license so Apple continues to provide Xcode itself and their on-line development resources for free. However, bypassing these restrictions is very useful for those that aren't quite ready to begin submitting apps to the iTunes Application store or those that want to create jailbreak-only applications or extensions. This guide was put together after my first attempt of running my application on my device. I found many different tutorials explaining this process, but they all seemed to follow different procedures and none of them completely worked. The following process worked for me and seemed to be the simplest method. As I continue learning more about iOS application and jailbreak extension development, I will revise this guide. Requirements:
Preparing Xcode To Allow Building Unsigned iOS Applications & Installing ldid Utility:
Note: The above steps only need to be performed once. After Xcode is properly prepared and ldid is installed, only the following steps will need to be repeated for building unsigned applications and installing them to a device. Building An Unsigned Application In Xcode:
Add Required SHA1 Hashes To Application Binary:
Copy Application To Device and Reload UI Cache:
Note: The backboardd process can be replaced with SpringBoard for iOS versions prior to 6.0. Using SpringBoard for iOS6+ will still work, but the screen will be dimmed. Pressing the power button once then waking the device back up will bring brightness back to the previous setting. Note: The IP address shown in the above commands (192.168.1.161) should be replaced with the IP address of the iOS device being used. This can be obtained within the iOS Settings app by tapping the arrow icon next to the WiFi Access Point the device is connected to. Before running the above commands, OpenSSH must be installed and enabled on the device. After performing the above steps, your application should now be visible on the device's SpringBoard. I have read that the ldid command and scp procedure can be added to a script so it's automatically performed every time a build is completed in Xcode. Once I figure out how to do this, the above guide will be revised. |
Guides > iOS Programming >