ここ最近、Unityでのアプリ開発で結構色々なエラーに苦しめられてしまったので、今後のためにエラー内容と対処法をまとめておこうと思います。
Exception: Unity.IL2CPP.Building.BuilderFailedException
Exception: Unity.IL2CPP.Building.BuilderFailedException: Build failed with 0 successful nodes and 0 failed ones
Error: Internal build system error. Backend exited with code 2.
tundra: error: Failed to open file "/Users/Library/Il2cppBuildCache/iOS/buildstate/tundra.log.json" for structured logging
上記のようなエラーが出ました。
iOSプロジェクトファイルを出力しようとしたら、上記のようなエラーで失敗した感じです。対処法ですが、以下を参考にしました。
Unityプロジェクトの「Il2cppBuildCache」を削除して再度ビルドし直したところ、エラーが解消されました。
【iOS】Asset validation failed (90206)
Asset validation failed (90206)
Invalid Bundle. The bundle at 'ProductName.app/Frameworks/UnityFramework.framework' contains disallowed file 'Frameworks'.
こちらはUnityからiOSプロジェクトを出力後に、Xcodeでビルド、AppStoreConnectへバイナリをアップロードしようとしたところ、上記のエラーでアップロードが失敗しました。
こちらの対処法は、下記を参考にしました。
「Always Embed Swift Standart Libraries」をNoにしてビルドし直したところ、エラーが解消されました。
Xcode ビルドエラー「FBAEMKit' (errno=2, not in dyld cache)」
2023-02-17 07:48:36.321095+0900 ProductName[1613:634216] [general] Error loading /var/containers/Bundle/Application/04C73E36-923D-4521-B1A7-5024120EB07E/ProductName.app/Frameworks/UnityFramework.framework/UnityFramework (138): dlopen(/var/containers/Bundle/Application/04C73E36-923D-4521-B1A7-5024120EB07E/ProductName.app/Frameworks/UnityFramework.framework/UnityFramework, 0x0109): Library not loaded: @rpath/FBAEMKit.framework/FBAEMKit
Referenced from: <BBAF8973-4D34-391C-97CC-24DB19E1CB4A> /private/var/containers/Bundle/Application/04C73E36-923D-4521-B1A7-5024120EB07E/ProductName.app/Frameworks/UnityFramework.framework/UnityFramework
Reason: tried: '/usr/lib/swift/FBAEMKit.framework/FBAEMKit' (errno=2, not in dyld cache), '/private/preboot/Cryptexes/OS/usr/lib/swift/FBAEMKit.framework/FBAEMKit' (errno=2), '/usr/lib/swift/FBAEMKit.framework/FBAEMKit' (errno=2, not in dyld cache), '/private/preboot/Cryptexes/OS/usr/lib/swift/FBAEMKit.framework/FBAEMKit' (errno=2), '/private/var/containers/Bundle/Application/04C73E36-923D-4521-B1A7-5024120EB07E/ProductName.app/Frameworks/FBAEMKit.framework/FBAEMKit' (errno=2),
上記のエラーですが、Facebook SDK導入時に遭遇したエラーです。
Unity プロジェクト出力・ビルドはOKなのですが、実機転送してアプリ起動するタイミングで上記のエラーログを吐いてアプリが落ちるという現象です。。
こちらに関しては、下記を参考にしました。
どうやら、現時点でのFacebook SDKの最新版、15.1で発生するエラーっぽかったので、14.1に変更して以下のようなPodfileにしてフレームワークを再インストールしました。
なんとなく、Facebook SDKの問題というより、cocoapodsのバージョンと、Podfileの書き方を変えたら解決した感じがします。
【Xcode】The run destination is not valid for Running the scheme...
こちらは端末の設定からDeveloper ModeをオンにすればOKです。
【Xcode】iPhone/iPad is busy: Fetching debug symbols for...
これはXcodeがiOS端末を認識していない場合があるので、Xcode・Mac OSを最新版にアップデート、Macを再起動、iOS端末をPCに差し直す、端末側でPCを信頼するを選択する等を行うことで解決できました。
【ターミナル】Gem::FilePermissionError You don't have write permissions...
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /usr/bin directory.
ターミナルでPodインストールを行った際に発生したエラー。
こちらは/usr/bin に書き込み権限がない場合に発生するエラーらしいです。
そのため、「sudo gem install cocoapods -n /usr/local/bin」のようにすればOKです。
android.bundle.enableUncompressedNativeLibs=false' is experimental and unsupported.The current default is 'true'.
Unityでandroid版を出力した際に出たエラー。
> Configure project :launcher
WARNING: The option setting 'android.bundle.enableUncompressedNativeLibs=false' is experimental and unsupported.
The current default is 'true'.
> Configure project :unityLibrary
WARNING: The option setting 'android.bundle.enableUncompressedNativeLibs=false' is experimental and unsupported.
The current default is 'true'.
これは、Unity 2019.4.40f1で発生しました。色々と調べたのですが、Unity 2021.3.18f1にアップデートすることでエラーが出なくなりました。
IOException: Cannot create aab because a file with the same name already exists.
IOException: Cannot create aab because a file with the same name already exists.
System.IO.Directory.CreateDirectory (System.String path) (at <eae584ce26bc40229c1b1aa476bfa589>:0)
UnityEngine.Networking.DownloadHandlerFile.InternalCreateVFS (System.String path, System.Boolean append) (at
これもUnity 2019.4.40f1で発生しました。この問題もUnity 2021.3.18f1にアップデートすることでエラーが出なくなりました。
The type or namespace name 'EventSystems' does not exist in the namespace 'UnityEngine'
Assets/MaxSdk/Scripts/MaxEventSystemChecker.cs(18,18): Error CS0234: The type or namespace name 'EventSystems' does not exist in the namespace 'UnityEngine' (are you missing an assembly reference?) (CS0234)
これもUnity 2019.4.40f1で発生しました。UnityEngine自体が読まれなくなる現象で、Reimportしても再起動しても解消されませんでした。この問題もUnity 2021.3.18f1にアップデートすることでエラーが出なくなりました。どうもAndroid SDK31と、Unity2019.4.40f1の相性がよくないらしく、おとなしくUnity 2021.3.18f1にアップデートする方がストレスを減らせる気がしました。
お知らせ
ノスタルジックミステリーゲーム「喫茶イエスタデイ」を最近リリースしました!
もしよろしければダウンロードお願い致します!