【Unity】MissingMethodException: Default constructor not found for type【Xcode】【トラブルシューティング】

Unity

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用のプロジェクトをビルドして実行すると解消されていました。

コメント

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