【Godot】ATTダイアログを表示するプラグインを作る

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では使えないっぽいです。ファイルの構成は作成済みのプラグインのプロジェクトと似ているので、今回作成したものに難なく組み込めると思います

GitHub - funseek/godot-ios-att: App Tracking Transparency plugin for Godot
App Tracking Transparency plugin for Godot. Contribute to funseek/godot-ios-att development by creating an account on Gi...

これでATTに対応したプラグインが作成できます。

あとは、エクスポートしたXcodeのinfo.plistに

NSUserTrackingUsageDescription

を追加すれば、ATTのダイアログが表示されます。

タイトルとURLをコピーしました