# GodotゲームをiOSへ移植する

> Summer EngineはGodot 4と互換があるのでエンジンの側は馴染みがある。iOSの側はAppleの手続き、署名、タッチの設計だ。

- URL: https://www.summerengine.com/ja/port-godot-game-to-ios
- Keyword: GodotゲームをiOSへ移植する
- Related: https://www.summerengine.com/ja/porting

Summer EngineでGodotのゲームをiOSへ持ち込むとは、権利のあるゲームをGodot 4互換のエンジンで作り直し、App Store Connectを通して出すことだ。作り直しは短い。人が驚くのはAppleの工程のほうだ。

Godotから来る開発者は、iOSでたいてい同じ三つの壁に当たる。書き出しのテンプレートと署名、もともと設計されていなかったタッチ操作、そしてコードではなく説明文が原因の審査の却下だ。どれもエンジンの問題ではない。だから移植そのものよりも確認の一覧のほうが重要になる。

Summer EngineはGodotの上流に追随し、百万行を超える独自コードを持つ完全な独自エンジンだ。現在はデスクトップビルドを書き出し、iOSビルドにはXcodeを入れたMac、署名、タッチ入力への対応作業が要る。C++とGDScriptはそのまま移り、C#はデスクトップエディタで使えるが、Godot 4のワークフローではiOSでのC#はまだ実験的扱いだ。

## Appleの工程を順番に

年99米ドルのApple Developer Programに入る。MacにXcodeを入れる。App ID、配布用の証明書、App Storeのプロビジョニングプロファイルを作る。iOSのビルドを書き出し、生成されたXcodeのプロジェクトを開き、バンドル識別子と署名のチームを設定し、アーカイブしてApp Store Connectへ上げる。TestFlightで実機で試す。スクリーンショット、説明、年齢レーティング、プライバシーポリシーのURL、プライバシーマニフェストを揃えて審査へ出す。

## キーボード向けに作ったゲームのタッチ操作

Godotのプロジェクトの多くは、キーボード入力のデスクトップから始まる。iOSでは、画面上にゲームパッドを描くのではなく、動作をジェスチャーへ割り当てる。タップ、長押し、スワイプ、ドラッグでたいていの設計は賄える。操作の対象は最低でも44ポイントの幅にし、プレイヤーが見る必要のある画面の部分から指を遠ざけ、安全領域の余白を尊重する。コントローラ対応は必須ではなく追加の経路として足す。

## コードで扱う端末の挙動

アプリの中断を扱う。フォーカスを失った時点で保存し、電話やロック画面が進行を奪わないようにする。音声の割り込みときれいな復帰を扱う。UIを安全領域に固定して複数の画面比率と切り欠きに対応する。メモリに注意する。iOSは予算を超えたアプリを終了させるからだ。最初の三十秒だけを計るのではなく、数分にわたる持続したフレームレートを試して熱による性能低下を捉える。

## よくある却下の原因

却下はたいていビルドではなくストアの掲載情報から来る。ゲームと一致しないスクリーンショット、エラーを返すプライバシーポリシーのリンク、不完全なデータ収集の申告、ビルドに見える仮のコンテンツ、Appleのアプリ内課金の外で処理されるデジタルの購入だ。申請前にそれらを直せば、たいていのゲームは一回目か二回目で通る。

## FAQ

### Godot形式のプロジェクトをiOSへ書き出すのにMacは必要か

必要だ。署名とアップロードにはXcodeが要り、XcodeはmacOSでしか動かない。最後のビルドの工程だけなら、借りたMacや遠隔のMacでも足りる。

### Summer EngineはGodotのフォークか

違う。Godot 4と互換があり常にGodotの上流に追随するが、百万行を超える独自コードを持つ完全な独自エンジンだ。

### iOSのビルドでC#は動くか

Godot 4のワークフローではiOSでのC#はまだ実験的扱いなので、iOSビルドにはGDScriptかC++のほうが安全だ。C#はデスクトップエディタで使える。

### App Storeにゲームを出すにはいくらかかるか

Apple Developer Programが年99米ドルで、加えて売上へのAppleの手数料がある。Summer Engineはロイヤリティを課さない。

### 同じプロジェクトをAndroidとSteamにも出せるか

Steamには出せる。Summerは同じプロジェクトからデスクトップビルドを書き出せるからだ。AndroidにはAndroid SDKと署名用のキーストアが要る。ストアごとに署名、説明文、入力の作業は要るが、ゲームそのものは一か所にとどまる。

[作り直しを始める](https://www.summerengine.com/ja/download)

---

## Machine-readable resources

- Site index for agents: https://www.summerengine.com/llms.txt
- Full inlined content: https://www.summerengine.com/llms-full.txt
- Porting catalog: https://www.summerengine.com/llms-porting.txt
- Structured catalog: https://www.summerengine.com/agent-catalog.json
- Sitemap: https://www.summerengine.com/sitemap.xml
- Developer resources: https://www.summerengine.com/docs
- Summer API (assets from any agent or code; public per-call model prices): https://docs.summerengine.com/api