Compiling apps and extensions on device: Difference between revisions

From iPhone Development Wiki
(Created page with "*This page is a WIP* Step 0. Aquire an iOS device with iOS 5 or higher and jailbreak it. Step 1. Installation Open Cydia (or just use apt-get with SSH). Install "Tape arch...")
 
(redirecting to better title)
 
(7 intermediate revisions by one other user not shown)
Line 1: Line 1:
*This page is a WIP*
#REDIRECT [[Compiling iOS applications on-device]]
 
Step 0. Aquire an iOS device with iOS 5 or higher and jailbreak it.
 
Step 1. Installation
 
Open Cydia (or just use apt-get with SSH).
 
Install "Tape archive" ("tar" with apt-get)
Install "iOS toolchain" ("org.coolstar.iostoolchain" with apt-get)
Install "OpenSSH" ("openssh" with apt-get)
Install "wget" ("wget" with apt-get)
 
Step 2. Get the SDK
 
They are found here: http://iphone.howett.net/sdks/
 
You can literally use any SDK you want as long as they have the frameworks you need, however it is recommended you use the iOS 7 SDK or higher as the lower ones do not support arm64 (optimized for iPhone 5s and higher).
 
Right click "Download" on one of the SDKs and copy the link.
 
SSH into your device and run these commands:
 
<source lang="bash">
cd /var/mobile
mkdir sdks
cd sdks
wget http://iphone.howett.net/sdks/dl/iPhoneOS8.1.sdk.tbz2 #or whatever SDK you wanted
tar xvf iPhoneOS8.1.sdk.tbz2
rm iPhoneOS8.1.sdk.tbz2
ln -s iPhoneOS8.1.sdk latest
</source>
 
Boom. Your device can fully now compile iOS applications.
 
Step 3. Creating the app structure
 
Switch to root (if you already aren't) and run these commands:
 
<source lang="bash">
cd /Applications
mkdir Test.app
cd Test.app
touch Test
chmod +x Test
</source>
 
Then create a file "Info.plist" in /Applications/Test.app/ with the following contents:
 
<source lang="xml">
<dict>
    <key>CFBundleExecutable</key>
    <string>Test</string>
 
    <key>CFBundleIdentifier</key>
    <string>net.iphonedevwiki.test</string>
 
    <key>CFBundleName</key>
    <string>LOL</string>
 
</dict>
</source>
 
Then switch back to mobile and run:
 
<source>
uicache
</source>
 
If you did everything right, once the command is done running you should see this on your homescreen:
 
[[File:32b04b5cf33cd6f4790d106e3defc533.png|On iOS 6 and lower, there would be no lines in the white square]]

Latest revision as of 00:24, 3 December 2014