UnityアプリをXcodeで実機デバッグした際、表題のエラーが発生したので解決方法をメモ。
エラー内容:MissingMethodException
Uploading Crash Report MissingMethodException: Default constructor not found for type UnityEngine.ResourceManagement.ResourceManager+CompletedOperation`1[[System.Collections.Generic.IList`1[[UnityEngine.Localization.Locale, Unity.Localization, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]
Unity上では発生せず、iPhone実機デバッグでのみ発生。
多言語対応した画面を表示すると上記エラーログが吐き出され、テキストが表示されない。
また、このエラーが発生した状態でAdMobのリワード広告を再生すると、再生完了タイミングでIl2CppExceptionWrapperエラーが発生してアプリがクラッシュしました。
解決方法
多言語対応にLocalizationPackageを使用しているのですが、これのビルドがうまくできていなかったことが原因でした。
UnityのメニューからWindow > AssetManagement > Addressables > Groups を開きます。
Build > New Build > Default Build Script を実行します。
再度Xcode用のプロジェクトをビルドして実行すると解消されていました。
コメント