はじめに
cocos2d-x 2.2.6 を C++API の利用を前提にセットアップして画像のようなサンプルアプリを Android Emulator & iOS Simulator 上で起動させることをこの記事のゴールとします。
v3系はCocos2d-x 3.17.2 のサンプルアプリを起動する(iOS / Android)をご確認ください。
環境
- cocos2d-x 2.2.6
- Xcode 12.4 (12D4e)
- Python 2.7.17
導入手順
Cocos2d-x本体と依存関係のダウンロード
1. リポジトリをcloneする
$ git clone git@github.com:cocos2d/cocos2d-x.git
2. cocos2d-x-2.2.6をcheckout
$ cd cocos2d-x
$ git checkout -b feature/cocos2d-x-2.2.6 tags/cocos2d-x-2.2.6
3. 依存関係をダウンロードする
依存関係をcocos2d-x-3rd-party-libs-binからダウンロードします。(python)
$ python download-deps.py
動作確認用のプロジェクトを作成する
cocosのv2ではcocosコマンドはありません、create_project.py
でプロジェクトを作成します。(python2系が必要です。)
$ cd tools/project-creator
$ python create_project.py -project MyGame -package com.MyCompany.SampleGame -language cpp
iOSプロジェクトを実機でビルドする
1. iOSプロジェクトを開く
$ cd projects/MyGame/proj.ios
$ open MyGame.xcodeproj
2. Bundle version stringが空になっているので設定します。
<key>CFBundleShortVersionString</key>
<string>0.0.1</string>
3. C++ Standard Libraryを libc++
に変更する
アプリケーションのターゲットと、cocos2d-x本体両方変更してください。
また、c++ language dialect を c++11 [-std=c++11]に変更しないと文字列リテラルが使えません。
必要に応じてそれも設定してください。
4. Enable Bitcode を NO に変更
アプリケーションのターゲットと、cocos2d-x本体両方変更してください。
5. Deployment Target を 9に変更
アプリケーションのターゲットのみ5.1.1->9に変更します。
Signingを修正すればここまでで実機で実行できます。
iOS Simulatorで実行する
1. EXCLUDED_ARCHSでiOS Simulatorの時にarm64を除外する。
参考:https://zenn.dev/yimajo/articles/7e275bc23999fe7d8b87
2. User-DefinedのVALID_ARCHSを削除する
VALID_ARCHSは、x86_64が入ってないかつ非推奨なのでプロジェクト側のBuild Settingsから項目ごと削除します。
https://developer.apple.com/documentation/xcode-release-notes/xcode-12-release-notes
これでシミュレーターでも実行できるはずです、以上。