Godot Engine 3.2でiOS向けのビルドを行う際、単純にエクスポートしただけではビルド出来なかったのでメモ代わりに投稿。
必要なもの
- macOS + Xcode
→これがないとそもそもビルド出来ません。 - Apple Developper Account
→ 開発者登録済みのAppleIDを使用して、Xcodeにログインが必要です。
→ Godot Engineからエクスポート時にApp Store Team Idの設定が必要です。 - 76×76, 120×120, 1024×1024ドットのアイコン画像
→ Godot Engineからエクスポート時にアイコン設定が必要です。
Godot EngineのExport欄の補足
App Store Team Idについて
Apple DeveloperのAccountを選択し、Membership欄を開くと判ります。
Identifierについて
BundleIDと呼ばれるものです。Storeに配信するのでなければ、com.example.gameの様な名称で問題ありません。
Exportしたプロジェクトを開く
プロジェクトをExportしたら、Godot Engineをパッケージングしたものと一緒にxcodeprojという拡張子のファイルが生成されますので、このファイルをXcodeで開きます。
通常はビルドをしておしまいなのですが、使用しているApple Developer Accountが有償のものではない場合、ビルドに失敗します。
ビルドを通すには
直接の原因は無償登録ユーザーであるため、Godot Engineのエクスポート時に設定した「In-App Purchase」「Push Notifications」が利用できないためです。
これらはGodot Engine側でCapabillities欄のチェックを外していても有効となってしまう様で、今のところXcode側でなんとかする必要があります。
具体的にはProject設定のSinging & Capabillitiesを選択し、以下の二つを削除します。
- In-App Purchase
- Push Notification
次に同じProject設定のBuild PhasesからLink Binary With Librariesを開き、StoreKit.frameworkを追加します。
ビルドが成功すれば、アプリケーションに署名がされてiOS端末に転送されます。なお、実行する際には設定から一般 > デバイス管理を開いて、転送したアプリの実行を許可する必要があります。
実行結果の例

