iOSでAlureを使うための準備
こちらを参考にビルドします。私の環境では修正が必要な箇所が異なっていたのでメモ。
AlureをiOSシミュレーター向けにビルドする
- 公式からAlureをダウンロード
- https://github.com/cristeab/ios-cmake からCMakeのiOS用ツールチェインをダウンロード
- cmake
cmake . -DCMAKE_TOOLCHAIN_FILE=./ios-cmake/toolchain/iOS.cmake -DIOS_PLATFORM=SIMULATOR64
- CMakeCache.txt を修正
includeパス指定が;
で連結されている場所を(半角スペース)に置換する。
- make
make
libalure-static.a
を*.o
に展開
ar -x libalure-static.a
*.o
ファイルを全てXcodeプロジェクトに追加。
Alureを実機向けにビルドする
上記手順で作成されるライブラリはシミュレーター向け(x86_64アーキテクチャのみ対応)となっているため実機での実行ができません。 実機で実行できるようにするには実機向けにビルドする必要があります。
手順は同じでCMakeのオプション(最後の部分)を書き換えるだけです。
cmake . -DCMAKE_TOOLCHAIN_FILE=./ios-cmake/toolchain/iOS.cmake -DIOS_PLATFORM=IOS
今度は実機のアーキテクチャ(armv7/armv7s/arm64)にしか対応していないため、シミュレーターで実行できなくなります。
一度のビルドでarmv7/armv7s/arm64/x86_64全てに対応させるオプションは無いようなので シミュレーター向けと実機向けのライブラリを自分で統合します。
ユニバーサル対応する
lipoコマンドでシミュレーター向けライブラリと実機向けライブラリを統合してユニバーサルライブラリを作成します。
xcrun -sdk iphoneos lipo -create [実機向けライブラリ] [シミュレーター向けライブラリ] -output [出力パス]
全ての *.o
ファイルに対して上記コマンドを適用したら完了です。
出来上がったライブラリをXcodeプロジェクトに追加するとシミュレーター/実機の両方で実行できるようになります。
補足
iTunes Storeに申請する場合は、シミュレーター用ライブラリを除外する必要があるので注意が必要です。