アヒルのある日

株式会社AHIRUの社員ブログです。毎週更新!社員が自由に思いついたことを書きます。

Unity2019系からUnity2021系へのバージョンアップ問題

こんにちは、ちゃらいアヒルです。

弊社で開発している「ポケットずかん」にてUnity2019ではどうしようも解決できない問題(Google Play Billing Library v4へのアップデートが2019では不可能)がありましたのでアップデートを行いました。

その際に発生した問題をまとめてみました。

Android

1.Releaseなのに「デバッグ可能な APK または Android App Bundle をアップロードしました」と言われるケース

Assets/Plugins/Android/AndroidManifest.xmlを確認し

android:debuggable="true"

android:debuggable="false"

とすることで対応できます。

 

iOS

1.ビルド時「error: UnityFramework has conflicting provisioning settings」と言われるケース

ビルドオプションで指定するパラメータを

PROVISIONING_PROFILE_SPECIFIER=xxxx

PROVISIONING_PROFILE_SPECIFIER_APP=xxxx

とすることで対応できます。

 

2.ビルド時「"_OBJC_CLASS_$_MPVolumeView", referenced from: objc-class-ref in xxxxx.o」と言われるケース

PostProcessBuild処理にてプロジェクトターゲットの取得方法が変更(非推奨)になったので

string targetGuid = proj.TargetGuidByName("Unity-iPhone");

string targetGuid = proj.GetUnityFrameworkTargetGuid();

に変更し、必要なFrameworkの追加を行うように記載しました。
pbxProject.AddFrameworkToProject( targetGuid, "MediaPlayer.framework", true );
pbxProject.AddFrameworkToProject( targetGuid, "Photos.framework", true );
pbxProject.AddFrameworkToProject( targetGuid, "Webkit.framework", true );

 

2019系を使用しているケースはほぼほぼ無いと思いますが、同様の問題が発生している方の参考になれればと思います。

 

ではまた次回!