summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/BuildingOnIOS.txt44
1 files changed, 44 insertions, 0 deletions
diff --git a/Documentation/BuildingOnIOS.txt b/Documentation/BuildingOnIOS.txt
new file mode 100644
index 0000000..dfc2194
--- /dev/null
+++ b/Documentation/BuildingOnIOS.txt
@@ -0,0 +1,44 @@
+Prerequisites
+------------
+- XCode
+- Python
+- Other requirements that are obtained during this guide
+ - OpenSSL
+
+Supported Components
+--------------------
+- Swiften
+ Note: File-transfer support has not been tested on Android. Link-local features are not supported under Android.
+- Swift/Controllers
+
+Preparation of Build Environment
+--------------------------------
+1. Fetch 3rd-party dependencies
+
+1.1 OpenSSL
+ cd 3rdParty/OpenSSL
+ curl -O http://www.openssl.org/source/openssl-1.0.0a.tar.gz
+ tar -xf openssl-1.0.0a.tar.gz
+ mv openssl-1.0.0a openssl
+
+Building
+--------
+1. Switch to iOS directory
+ cd BuildTools/IOS
+
+2. Look up installed SDKs
+ xcodebuild -showsdks
+
+ Note: Here the iOS SDKs and iOS Simulator SDKs are of interest.
+
+3. Build Swiften (adjust the sdk parameter to one of the installed SDKs)
+ xcodebuild build -arch i386 -sdk iphonesimulator8.1
+
+ Note: When not specifying the architecture (-arch flag) XCode will try an universal build which is not supported.
+ Only specify one architecture at a time and if you require a universal lib you can create one using the lipo tool.
+
+4. The final libSwiften.a is located at $SWIFT/build/current/Swiften/libSwiften.a.
+
+Testing
+-------
+Integration and unit tests are not supported on iOS.