Skip to content
Branch: master
Find file History
Latest commit 634c77e Jun 1, 2019
Permalink
Type Name Latest commit message Commit time
..
Failed to load latest commit information.
README Add TAPIv2 support Apr 1, 2017
build.sh Misc fixes Jun 1, 2019
wrapper.c Add TAPIv2 support Apr 1, 2017

README

PREREQUISITES:

See cctools/ld64 README + libssl-dev, git, bash, cmake and a jailbroken iOS device

--------------------------------------------------------------------------------

USAGE:

Please ensure you have read and understood the Xcode license terms before
building this toolchain: https://www.apple.com/legal/sla/docs/xcode.pdf.

[LLVM_DSYMUTIL=llvm-dsymutil] ./build.sh /path/to/sdk.tar.* <target cpu>

Target CPU should be one of armv6, armv7, armv7s and arm64.

This will build an iOS toolchain prefixed with
arm-apple-darwin11-*

You can then use arm-apple-darwin11-clang / arm apple-darwin11-clang++
to build your applications.

---

IPHONEOS_DEPLOYMENT_TARGET can be used to target older iOS versions.

For example:

export IPHONEOS_DEPLOYMENT_TARGET=5.0

will target iOS 5.0.

--------------------------------------------------------------------------------

ISSUES:

ISSUE: clang: error: invalid version number in '-miphoneos-version-min=10.2'
SOLUTION: Targeting iOS >= 10.0 requires Clang >= 4.0.

--------------------------------------------------------------------------------

PACKAGING THE SDK:

Ensure you have read and understood the Xcode license terms before continuing.
=> https://www.apple.com/legal/sla/docs/xcode.pdf

Packaging recents SDKs requires Mac OS Sierra.

Download Xcode 8.2.1 and extract its content. Then issue the following commands:

SDK=$(ls -l Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs | grep " -> iPhoneOS.sdk" | head -n1 | awk '{print $9}')
cp -r Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk /tmp/$SDK 1>/dev/null
cp -r Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1 /tmp/$SDK/usr/include/c++ 1>/dev/null
pushd /tmp
tar -cvzf $SDK.tar.gz $SDK
rm -rf $SDK
mv $SDK.tar.gz ~
popd

The SDK should be now in your home directory.
You can’t perform that action at this time.