PhysifApps

趣味と開発メモ保管庫

SimulatorビルドがNSInternalInconsistencyExceptionで通らない【Unity】【Xcode】

UnityからSimulator SDKで書き出したアプリをXcodeのシミュレータで実行しようとしたら、エラーが出て実行できなかった。

Uncaught exception: NSInternalInconsistencyException: [UnityAppController renderingAPI] called before [UnityAppController selectRenderingApi]

ここでエラーが出る

解決方法を調べたところ、単純な操作でシミュレータ実行が出来るようになったのでメモ。

解決方法

解決方法は、UnityのPlayer Settings > Other SettingsのAuto Graphics APIを無効にして、Graphics APIsにOpenGLES3を追加するだけ。

手動で追加しよう

XcodeのシミュレータはMetalサポートしてないので、Metalだけではビルドが通らないみたい。

We are experiencing the same issue running Unity 2017.2.0p3 on a MacBook Pro (15-inch, 2016) with a Radeon Pro 450 2 GB. The iPhone X simulator crashes as soon as the app starts if Metal is selected as the rendering API, works fine under OpenGL or Auto.

answers.unity.com

OpenGLかAutoで動作するよって書いてあったけど、画像の通りAutoかつその設定で入っていたOpenGLES2があっても変わらずエラーが出る。

手動でOpenGLES3を追加して再度ビルド。その後Xcodeで実行したら問題なくシミュレータで実行できた。

解決する時に参考にしたリンク

answers.unity.com

hecres.hatenablog.com