質問: ### 前提・実現したいこと * Unity5.3で作成したプロジェクトをxcode7.3のiPhone4s(iOS9.3),iPhone5(iOS9.3)などのCPUが32bitだった機体のシミュレーターでビルド・実行するとインストールはされるのですが、アプリは動作しません。 * より正確にはUnityのロゴが表示される前の起動画面(ローンチ画面?)で動作が停止します。停止しますが、アプリが落ちているわけではなさそうです。 * シミュレーター本体がフリーズしているわけでもなく、ホームボタンなどの操作によるアプリの終了は行えます。 * エラーを解消してUnity5.3で作成したプロジェクトをxcode7.3のiPhone4s(iOS9.3)のシミュレーター上で動作させたいです。 ### 発生している問題・エラーメッセージ ``` dyld: Symbol not found: __ZN14Il2CppIUnknown3IIDE Referenced from: /Users/administrator/Library/Developer/CoreSimulator/Devices/[シミュレーターのIdentifier]/data/Containers/Bundle/Application/D0E525C4-52CE-4180-A2DA-361B5537C098/[アプリ名].app/[アプリ名] Expected in: flat namespace in /Users/administrator/Library/Developer/CoreSimulator/Devices/[シミュレーターのIdentifier]/data/Containers/Bundle/Application/D0E525C4-52CE-4180-A2DA-361B5537C098/[アプリ名].app/[アプリ名] (lldb) ``` ### 該当のソースコード ▼Thread 1 / 0 dyld_fatal_error ``` dyld_sim`dyld_fatal_error: 0x92c000 <+0>: int3 -> 0x92c001 <+1>: nop ``` ▼Thread 1 / 7 _dyld_start ``` dyld`_dyld_start: 0x8fe36000 <+0>: popl %edx 0x8fe36001 <+1>: pushl $0x0 0x8fe36003 <+3>: movl %esp, %ebp 0x8fe36005 <+5>: andl $-0x10, %esp 0x8fe36008 <+8>: subl $0x20, %esp 0x8fe3600b <+11>: calll 0x8fe36010 ; <+16> 0x8fe36010 <+16>: popl %ebx 0x8fe36011 <+17>: movl 0x34e75(%ebx), %ecx 0x8fe36017 <+23>: movl 0x34e71(%ebx), %eax 0x8fe3601d <+29>: subl %eax, %ebx 0x8fe3601f <+31>: addl %ebx, %ecx 0x8fe36021 <+33>: movl %edx, (%esp) 0x8fe36024 <+36>: movl 0x4(%ebp), %eax 0x8fe36027 <+39>: movl %eax, 0x4(%esp) 0x8fe3602b <+43>: leal 0x8(%ebp), %eax 0x8fe3602e <+46>: movl %eax, 0x8(%esp) 0x8fe36032 <+50>: movl %ebx, 0xc(%esp) 0x8fe36036 <+54>: movl %ecx, 0x10(%esp) 0x8fe3603a <+58>: leal 0x1c(%esp), %eax 0x8fe3603e <+62>: movl %eax, 0x14(%esp) 0x8fe36042 <+66>: calll 0x8fe36086 ; dyldbootstrap::start(macho_header const*, int, char const**, long, macho_header const*, unsigned long*) -> 0x8fe36047 <+71>: movl 0x1c(%esp), %edx 0x8fe3604b <+75>: cmpl $0x0, %edx 0x8fe3604e <+78>: jne 0x8fe3605c ; <+92> 0x8fe36050 <+80>: movl %ebp, %esp 0x8fe36052 <+82>: addl $0x4, %esp 0x8fe36055 <+85>: movl $0x0, %ebp 0x8fe3605a <+90>: jmpl *%eax 0x8fe3605c <+92>: movl 0x4(%ebp), %ebx 0x8fe3605f <+95>: movl %ebx, (%esp) 0x8fe36062 <+98>: leal 0x8(%ebp), %ecx 0x8fe36065 <+101>: movl %ecx, 0x4(%esp) 0x8fe36069 <+105>: leal 0x4(%ecx,%ebx,4), %ebx 0x8fe3606d <+109>: movl %ebx, 0x8(%esp) 0x8fe36071 <+113>: movl (%ebx), %ecx 0x8fe36073 <+115>: addl $0x4, %ebx 0x8fe36076 <+118>: testl %ecx, %ecx 0x8fe36078 <+120>: jne 0x8fe36071 ; <+113> 0x8fe3607a <+122>: movl %ebx, 0xc(%esp) 0x8fe3607e <+126>: pushl %edx 0x8fe3607f <+127>: jmpl *%eax 0x8fe36081 <+129>: nopl (%eax) ``` ### 試したこと * プロジェクトの内容は何もない空間に立方体が描画されているだけのものです。GUIなども作ってませんし、アセットやプラグインも入れてません。 * iPhone5sやiPhone6などのシミュレーターでは動作します。 * Architectures -> Standard architectures(i386, x86_64) ― $(ARCHS_STANDARD) * Vaild Architectures -> i386, x86_64 * xcodeのiOS Deployment TargetとUnityのTarget minimum iOS Versionはともに8.0です。 * Appetize.ioで確認してみましたが同様の現象が起きました。 * Product > Cleanの処理は何度か行っています。 ### 補足情報(言語/FW/ツール等のバージョンなど) ■制作環境 OSX 10.11.4 Unity5.3.4f1 Xcode 7.3 ■Unity側の設定 Target Device -> iPhone + iPad Target SDK -> Simulator SDK Target minimum iOS Version -> 8.0 Architectureはx86_64と表示されてグレーアウト ■その他 作業を行ったMacにxcodeの以前のバージョンはインストールしていません。 iPhone4sのシミュレーター自体は起動します。 ### できるかぎり調べたつもりですが、解決にいたりませんでした。 どうかよろしくお願いいたします。
回答: > > ■Unity側の設定 > > Target Device -> iPhone + iPad > > Target SDK -> Simulator SDK > > Target minimum iOS Version -> 8.0 > > Architectureはx86_64と表示されてグレーアウト > > > Architectureはx86_64と表示されてグレーアウトということは、**Scripting Backend**の設定が**IL2CPP**になっていると思います。 **Scripting Backend**の設定を**Mono Runtime API**にすることで、iPhone4s,iPhone5などの32bitのCPUのシミュレーターも動くようになると思います。 !イメージ説明