ここ最近、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」を削除して再度ビルドし直したところ、エラーが解消されました。
Unity ビルドが止まる、終わらない
エディター上ではビルドエラーにならず、実機転送時にビルドが止まる、終わらないという現象に遭遇しました。こちらは最初PCのスペック的な問題or調子が悪いのかなと思い、Unity、PCの再起動を行ったりしたのですが、状況が変わりませんでした。
最終的に、長すぎる配列データがあるとビルドが終わらないということがわかりました。(データ量としては4000行くらい)なので、4000を超える場合は配列を分けるという作業が必要だと思います。
UnityでGoogle関連のビルドエラーが出た場合
以下のことをやると改善される場合あり。
- プロジェクトの再起動・リソースの再インポート・リフレッシュ
- PCの再起動・OSのアップデート
- Custom Main Gradle TemplateとCustom Gradle Properties Templateにチェック後、Android Delete Resolved Library → Android Force Resolve
- Firebaseや広告SDKを削除、再度入れ直す
【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です。
【iOS】ビルドエラー Undefined symbol: _GADAdLoaderAdTypeNative
Undefined symbol: _GADAdLoaderAdTypeNative
久しぶりにビルドしたiOSプロジェクトで発生したエラー。AdMob関連と思われるGADファイルのエラーが大量に出る状態でした。
こちらはOther linker flagで$(inherited)が設定されていたのでこれを削除したら解消されました。
【Unity】Component GUI Layer in Main Camera for Scene 〇〇.unity is no longer available.
Component GUI Layer in Main Camera for Scene Assets/Scenes/select.unity is no longer available.
It will be removed after you edit this GameObject and save the Scene.
UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)
Unityで古いプロジェクトファイルを開いたところ発生したエラー。
こちらはCameraオブジェクトに追加されているFlare Layerというコンポーネントを削除することでエラーが解消されました。
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にアップデートする方がストレスを減らせる気がしました。
【Unity】no android devices connectedでUSB接続した端末が認識されない
今まで普通にUSBデバッグしていたPixel5で急に上記のエラーが出てUnity側から認識されなくなりました。調べた感じだと、USBデバッグモードが何らかの原因で解除されていたっぽいです。下記を参考に再度USBデバッグを許可したところ、エラーが解消されました。
File not found: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_iphoneos.a
上記のエラーはXcodeを14.3にアップデート後に発生しました。こちらはMinimum Deploymentsを全て11以上に設定したところ解消されました。
'AppLovinMediationByteDanceAdapter/libByteDanceAdapter.a(ALByteDanceMediationAdapter.o)' does not contain bitcode.
こちらは最近よく出るエラー。bitcode関連のエラーなので、全てのターゲットでenable bitcodeをNOにするとエラーが解消されることが多い
'/Users/Library/Developer/Xcode/DerivedData/Unity-iPhone-gyxkzvpwjdxoreembgyjcclfmqjf/Build/Products/ReleaseForRunning-iphoneos/XCFrameworkIntermediates/AppLovinMediationByteDanceAdapter/libByteDanceAdapter.a(ALByteDanceMediationAdapter.o)' does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target. file '/Users/Library/Developer/Xcode/DerivedData/Unity-iPhone-gyxkzvpwjdxoreembgyjcclfmqjf/Build/Products/ReleaseForRunning-iphoneos/XCFrameworkIntermediates/AppLovinMediationByteDanceAdapter/libByteDanceAdapter.a' for architecture arm64
【Unity】Internal build system error. Backend exited with code 2. tundra: error: Unexpected stdin
こちら、広告SDK更新時に発生したエラー。色々いじってもエラーが出続けたが、Unityの再起動でエラーが消えた。
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 コンパイラで例外が発生しました
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
コンパイラで例外が発生しました(1.8.0-adoptopenjdk)。Bug Database (http://bugs.java.com)で重複がないか
をご確認のうえ、Java bugレポート・ページ(http://bugreport.java.com)でJavaコンパイラに対するbugの登録を
お願いいたします。レポートには、そのプログラムと下記の診断内容を含めてください。
こちらはネットで調べると色々対処法が載っていたが、Unity 2019.4.40f1をUnity 2021.3.18f1にアップデートすることでエラーが出なくなりました。
Minimum supported Gradle version is 5.4.1. Current version is 5.1.1...
Minimum supported Gradle version is 5.4.1. Current version is 5.1.1. If using the gradle wrapper, try editing the distributionUrl in
こちらもUnity 2019.4.40f1をUnity 2021.3.18f1にアップデートすることでエラーが出なくなりました。
Missing 'package' key attribute on element package at AndroidManifest.xml:11:5-64
Missing 'package' key attribute on element package at AndroidManifest.xml:11:5-64
こちらもUnity 2019.4.40f1をUnity 2021.3.18f1にアップデートすることでエラーが出なくなりました。
Missing purpose string in Info.plist. Your app’s code references...
Missing purpose string in Info.plist. Your app’s code references one or more APIs that access sensitive user data, or the app has one or more entitlements that permit such access. The Info.plist file for the “app” bundle should contain a NSUserTrackingUsageDescription key with a user-facing purpose string explaining clearly and completely why your app needs the data. If you’re using external libraries or SDKs, they may reference APIs that require a purpose string. While your app might not use these APIs, a purpose string is still required. For details, visit: https://developer.apple.com/documentation/uikit/protecting_the_user_s_privacy/requesting_access_to_protected_resources.
こちらはビルド後、AppStoreConnectへアップロードする際に発生したエラー。
NSUserTrackingUsageDescriptionがなかったので追加したらエラーが解消された。
【Unity】java.lang.RuntimeException: Duplicate class kotlin.collections.jdk8.CollectionsJDK8Kt found in modules jetified-org.jetbrains.kotlin.kotlin-stdlib-1.8.10.jar
Unity Android版のビルド時に発生したエラー。ライブラリが重複しているため発生しているので、今回の場合は、Android Resolverで「Force Resolved」後にjdkライブラリを削除でエラーが解消された。
java.lang.RuntimeException: Duplicate class kotlin.collections.jdk8.CollectionsJDK8Kt found in modules jetified-org.jetbrains.kotlin.kotlin-stdlib-1.8.10.jar (org.jetbrains.kotlin.kotlin-stdlib-1.8.10.jar) and jetified-org.jetbrains.kotlin.kotlin-stdlib-jdk8-1.6.21.jar (org.jetbrains.kotlin.kotlin-stdlib-jdk8-1.6.21.jar)
Duplicate class kotlin.internal.jdk8.JDK8PlatformImplementations found in modules jetified-org.jetbrains.kotlin.kotlin-stdlib-1.8.10.jar (org.jetbrains.kotlin.kotlin-stdlib-1.8.10.jar) and jetified-org.jetbrains.kotlin.kotlin-stdlib-jdk8-1.6.21.jar (org.jetbrains.kotlin.kotlin-stdlib-jdk8-1.6.21.jar)
Duplicate class kotlin.internal.jdk8.JDK8PlatformImplementations$ReflectSdkVersion found in modules jetified-org.jetbrains.kotlin.kotlin-stdlib-1.8.10.jar (org.jetbrains.kotlin.kotlin-stdlib-1.8.10.jar) and jetified-org.jetbrains.kotlin.kotlin-stdlib-jdk8-1.6.21.jar (org.jetbrains.kotlin.kotlin-stdlib-jdk8-1.6.21.jar)
Duplicate class kotlin.jvm.jdk8.JvmRepeatableKt found in modules jetified-org.jetbrains.kotlin.kotlin-stdlib-1.8.10.jar (org.jetbrains.kotlin.kotlin-stdlib-1.8.10.jar) and jetified-org.jetbrains.kotlin.kotlin-stdlib-jdk8-1.6.21.jar (org.jetbrains.kotlin.kotlin-stdlib-jdk8-1.6.21.jar)
Duplicate class kotlin.random.jdk8.PlatformThreadLocalRandom found in modules jetified-org.jetbrains.kotlin.kotlin-stdlib-1.8.10.jar (org.jetbrains.kotlin.kotlin-stdlib-1.8.10.jar) and jetified-org.jetbrains.kotlin.kotlin-stdlib-jdk8-1.6.21.jar (org.jetbrains.kotlin.kotlin-stdlib-jdk8-1.6.21.jar)
Duplicate class kotlin.streams.jdk8.StreamsKt found in modules jetified-org.jetbrains.kotlin.kotlin-stdlib-1.8.10.jar (org.jetbrains.kotlin.kotlin-stdlib-1.8.10.jar) and jetified-org.jetbrains.kotlin.kotlin-stdlib-jdk8-1.6.21.jar (org.jetbrains.kotlin.kotlin-stdlib-jdk8-1.6.21.jar)
Duplicate class kotlin.streams.jdk8.StreamsKt$asSequence$$inlined$Sequence$1 found in modules jetified-org.jetbrains.kotlin.kotlin-stdlib-1.8.10.jar (org.jetbrains.kotlin.kotlin-stdlib-1.8.10.jar) and jetified-org.jetbrains.kotlin.kotlin-stdlib-jdk8-1.6.21.jar (org.jetbrains.kotlin.kotlin-stdlib-jdk8-1.6.21.jar)
Duplicate class kotlin.streams.jdk8.StreamsKt$asSequence$$inlined$Sequence$2 found in modules jetified-org.jetbrains.kotlin.kotlin-stdlib-1.8.10.jar (org.jetbrains.kotlin.kotlin-stdlib-1.8.10.jar) and jetified-org.jetbrains.kotlin.kotlin-stdlib-jdk8-1.6.21.jar (org.jetbrains.kotlin.kotlin-stdlib-jdk8-1.6.21.jar)
Duplicate class kotlin.streams.jdk8.StreamsKt$asSequence$$inlined$Sequence$3 found in modules jetified-org.jetbrains.kotlin.kotlin-stdlib-1.8.10.jar (org.jetbrains.kotlin.kotlin-stdlib-1.8.10.jar) and jetified-org.jetbrains.kotlin.kotlin-stdlib-jdk8-1.6.21.jar (org.jetbrains.kotlin.kotlin-stdlib-jdk8-1.6.21.jar)
Duplicate class kotlin.streams.jdk8.StreamsKt$asSequence$$inlined$Sequence$4 found in modules jetified-org.jetbrains.kotlin.kotlin-stdlib-1.8.10.jar (org.jetbrains.kotlin.kotlin-stdlib-1.8.10.jar) and jetified-org.jetbrains.kotlin.kotlin-stdlib-jdk8-1.6.21.jar (org.jetbrains.kotlin.kotlin-stdlib-jdk8-1.6.21.jar)
Duplicate class kotlin.text.jdk8.RegexExtensionsJDK8Kt found in modules jetified-org.jetbrains.kotlin.kotlin-stdlib-1.8.10.jar (org.jetbrains.kotlin.kotlin-stdlib-1.8.10.jar) and jetified-org.jetbrains.kotlin.kotlin-stdlib-jdk8-1.6.21.jar (org.jetbrains.kotlin.kotlin-stdlib-jdk8-1.6.21.jar)
Duplicate class kotlin.time.jdk8.DurationConversionsJDK8Kt found in modules jetified-org.jetbrains.kotlin.kotlin-stdlib-1.8.10.jar (org.jetbrains.kotlin.kotlin-stdlib-1.8.10.jar) and jetified-org.jetbrains.kotlin.kotlin-stdlib-jdk8-1.6.21.jar (org.jetbrains.kotlin.kotlin-stdlib-jdk8-1.6.21.jar)
お知らせ
ノスタルジックミステリーゲーム「喫茶イエスタデイ」を最近リリースしました!
もしよろしければダウンロードお願い致します!