これを改善するために、Cocos2d-x のライブラリを予めビルドしておき、静的ライブラリとして利用します。
作業環境
Xcode 7.3Cocos2d-x 3.10
1.プロジェクトを作る
ターミナルを開き、コマンドを入力します。$ cocos new TestingProject -p com.Testing.TestingProject -l cpp
2.ライブラリ用のプロジェクトを開く
作成されたプロジェクトのフォルダ内TestingProject/cocos2d/build/cocos2d_libs.xcodeprojを Xcode で開きます。
3.Preferences を変える
上部メニューより Xcode -> Preferences... を開きます。Locations タブを選択し、Derived Data を Default から Relative に変更します。
4.Build Settings を変える
TARGETS -> Build Settings -> Architectures -> Build Active Architecture Only -> Debugこの値を Yes から No に変更します。
5.デバイス用にビルド
Xcode ウィンドウ上部ツールバーより libcocos2d iOS > Generic iOS Device を選択し、ビルドします。結構時間がかかります。6.シミュレーター用にビルド
Xcode ウィンドウ上部ツールバーより libcocos2d iOS > いずれかのシミュレーター を選択し、ビルドします。こちらも時間がかかります。7.ファイルを確認
cocos2d_libs.xcodeproj がある場所に DerivedData フォルダが作成されています。階層を辿って、以下2つのファイルを確認します。
DerivedData/cocos2d_libs/Build/Products/Debug-iphoneos/libcocos2d iOS.a DerivedData/cocos2d_libs/Build/Products/Debug-iphonesimulator/libcocos2d iOS.a
8.ターミナルを開き Products まで移動する
コマンドを入力し、Products まで移動します。$ cd /Users/username/TestingProject/cocos2d/build/DerivedData/cocos2d_libs/Build/Products
9.ライブラリを作る
ビルドした2つのライブラリを合体します。ターミナルでコマンドを入力します。
※「libcocos2d-x 3.10 iOS.a」は合体後の名前なので、自由に変更可能です。
lipo -create -output "libcocos2d-x 3.10 iOS.a" "Debug-iphoneos/libcocos2d iOS.a" "Debug-iphonesimulator/libcocos2d iOS.a"
10.合体したライブラリを移動する
libcocos2d-x 3.10 iOS.a を DerivedData フォルダ外の場所に移動します。/Users/username/Library/libcocos2d-x 3.10 iOS.a
11.Xcode の設定を戻す
3で変更した Derived Data の Relative を Default に戻します。12.プロジェクト内の Cocos2d を削除します。
最初に作ったプロジェクトを開きます。不要になった Cocos2d サブプロジェクトを削除します。
13.ライブラリをプロジェクトに追加する
先ほど作った libcocos2d-x 3.10 iOS.a を追加する14.ライブラリのパスを設定する
libcocos2d-x 3.10 iOS.a があるフォルダのパスをTARGETS -> Build Settings -> Search Paths -> Library Search Pathsに追加します。