![]()
GodotからエクスポートしたiOSプロジェクトでのATT(App Tracking Transparency)ダイアログの表示ですが、対応するにあたって参考にしたサイトの情報を残しておきます
下準備
GodotのサイトのiOS用のコンパイルのサイトを参考に、コンパイル用の準備をします
Python、SConsのインストールが必要です
Godotのプラグインを作る
プラグインを使うと、GodotからiOSの機能を呼び出すことができるようになります
プラグインの作り方は以下の動画を見てください。インドの方の動画ですが映像だけで理解できます。この動画の通り作れば、GodotからXcodeで作ったプラグインを呼び出すことができるようになります
この動画で作成するのは、プラグインで計算した結果をGodotのテキストエリアに表示するプログラムです。プラグインとの連携がよくわかります
といっても、実はすんなりいかなかったので、僕がつまづいた点を記載しておきます
ソースコードは写経
動画中でソースコードを他のファイルからコピペするシーンが何度が出てきますが、コピペ元のファイルはどこにもありません。なので、動画を止めながらソースコードを写経する必要があります。幸い、ソースコードは動画に全て写っているので、問題なく写経できます
ちなみにSConstructというファイルだけは動画の下のリンクからダウンロードできます
Godotのソースは自分のGodotとバージョンを合わせる
これは必要なのかよくわからないのですが、とりあえず対応しました(ChatGPT情報)。これで上手くいったので、とりあえず。
動画内ではバージョンは4.2をダウンロードしていますが、僕は4.4をダウンロードしました
git clone -b 4.4 https://github.com/godotengine/godot.git
また、動画内でGodotのソースのコンパイルを
scons platform=ios target=template_debug -j4
で行っていますが、Godotのサイトに記載されている
scons platform=ios target=template_debug generate_bundle=yes
で大丈夫です
XCodeへのエクスポートはデバック付きで
動画と同じように「デバッグ付きエクスポート」のチェックをつけてエクスポートします。チェックを外してエクスポートすると、Xcodeのコンパイル時にエラー(Undefined symbol:〜)がでます。ここでハマりました・・・
完成したプラグインを改良する
上記動画でつくったプラグインが問題なく動作することを確認できたら、このプログラムをATT向けに改良していきます
ATTのダイアログ表示のプラグインのソースを公開してくれている方がいるので、このプログラムを組み込んでいきます。これをそのまま使えればいいんですが、Godot3.5対応みたいで、4.0では使えないっぽいです。ファイルの構成は作成済みのプラグインのプロジェクトと似ているので、今回作成したものに難なく組み込めると思います
これでATTに対応したプラグインが作成できます。
あとは、エクスポートしたXcodeのinfo.plistに
NSUserTrackingUsageDescription
を追加すれば、ATTのダイアログが表示されます。


