How to put Applications on Jailbroken iPhone
Need:
- Jailbroken iPhone(with OpenSSH from Cydia)
- USB cable
- MacbookPro(for Xcode)
- uikittools
Tested with:
Step 1 - make sure Xcode is closed - stop automatic signing
First off you need to edit a configuration file within Xcode:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/SDKSettings.plist
Make a backup just in case you mess up:
sudo cp /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/SDKSettings.plist /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/SDKSettings.BACK
Edit the file like:
sudo nano /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/SDKSettings.plist
To save:
Control + X then Y
Change
<key>CODE_SIGNING_REQUIRED</key>
<string>YES</string>
<key>CODE_SIGN_ENTITLEMENTS</key>
<string>YES</string>
to
<key>CODE_SIGNING_REQUIRED</key>
<string>NO</string>
<key>CODE_SIGN_ENTITLEMENTS</key>
<string>NO</string>
Step 2 - create the TCP connection between your Macbook and your iPhone
Go to
http://cgit.sukimashita.com/usbmuxd.git/
Download the latest, here:
http://cgit.sukimashita.com/usbmuxd.git/snapshot/usbmuxd-1.0.8.tar.bz2
Use a GUI tool or simply extract in Terminal:
tar -xjf usbmuxd-1.0.8.tar.bz2
cd to the "python-client" folder
Open Terminal and run to test the connection, Control + C to quit:
python tcprelay.py -t 22:2222
Now you can run these commands in the future:
ssh root@localhost -p 2222 - access the phone
scp -P 2222 root@localhost - send files to the phone
Step 3 - time to open Xcode
Click on your Project > Build Settings > Go to Code Signing > Code Signing Identity > Make sure it says "Don't sign code"
Make sure you set your target to "iOS Device"
Go to Product > Build for > Archiving
Step 4 - time to push your application to your jailbroken iPhone!
Example project name: NavBar
After building your application, its time to push it your phone, you need to find the path to your application in order to send it to your phone:
Open terminal again:
scp -r -P 2222 "/Users/noname/Library/Developer/Xcode/DerivedData/NavBar-gekkahxyyaepvgdkfkduwhlmqvqg/Build/Products/Release-iphoneos/NavBar.app" root@localhost:/Applications/
When prompted for the password, make sure your type "alpine"
User: root (already specified)
Password: alpine
After that is quickly transferred, Control + C to quit and then update your iPhone with:
ssh -p 2222 mobile@localhost uicache
User: mobile (already specified)
Password: alpine
To remove everything:
ssh -p 2222 root@localhost rm -rf /Applications/NavBar.app && ssh -p 2222 mobile@localhost uicache
By now you should see the application pop up on your home screen!