Building on iOS =================== How to build i2pd for iOS 9 and iOS Simulator 386/x64 Prerequisites -------------- XCode7+, cmake 3.2+ Dependencies ------------ - precompiled openssl - precompiled boost with modules `filesystem`, `program_options`, `date_time` and `system` - ios-cmake toolchain from `https://github.com/vovasty/ios-cmake.git` Building -------- Assume you have folder structure lib/ libboost_date_time.a libboost_filesystem.a libboost_program_options.a libboost_system.a libboost.a libcrypto.a libssl.a include/ boost/ openssl/ ios-cmake/ i2pd/ ```bash mkdir -p build/simulator/lib build/ios/lib include/i2pd pushd build/simulator && \ cmake -DIOS_PLATFORM=SIMULATOR \ -DPATCH=/usr/bin/patch \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_TOOLCHAIN_FILE=../../ios-cmake/toolchain/iOS.cmake \ -DWITH_STATIC=yes \ -DWITH_BINARY=no \ -DBoost_INCLUDE_DIR=../../include \ -DOPENSSL_INCLUDE_DIR=../../include \ -DBoost_LIBRARY_DIR=../../lib \ -DOPENSSL_SSL_LIBRARY=../../lib/libssl.a \ -DOPENSSL_CRYPTO_LIBRARY=../../lib/libcrypto.a \ ../../i2pd/build && \ make -j16 VERBOSE=1 && \ popd pushd build/ios cmake -DIOS_PLATFORM=OS \ -DPATCH=/usr/bin/patch \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_TOOLCHAIN_FILE=../../ios-cmake/toolchain/iOS.cmake \ -DWITH_STATIC=yes \ -DWITH_BINARY=no \ -DBoost_INCLUDE_DIR=../../include \ -DOPENSSL_INCLUDE_DIR=../../include \ -DBoost_LIBRARY_DIR=../../lib \ -DOPENSSL_SSL_LIBRARY=../../lib/libssl.a \ -DOPENSSL_CRYPTO_LIBRARY=../../lib/libcrypto.a \ ../../i2pd/build && \ make -j16 VERBOSE=1 && \ popd libtool -static -o lib/libi2pdclient.a build/*/libi2pdclient.a libtool -static -o lib/libi2pd.a build/*/libi2pd.a cp i2pd/*.h include/i2pd ``` Include into project -------------------- - add all libraries in `lib` folder to `Project linked frameworks`. - add `libc++` and `libz` libraries from system libraries to `Project linked frameworks`. - add path to i2p headers to your `Headers search paths` Alternatively you may use swift wrapper `https://github.com/vovasty/SwiftyI2P.git`