Игра Unity3D v4.6.9 не работает на iOS8 с xCode7

Когда мы пытаемся запустить игру, мы видим наш экран-заставку, а затем получаем ошибку Thread1:EXC_BAD_ACCESS code=1
в
il2cpp::icalls::mscorlib::System::String::RedirectToCreateString:

Это происходит до того, как будет выполнен любой наш код на C# - до Awake().
Он работает правильно на iOS9.
Мы пробовали это на Unity4.6.9 и Unity4.6.9p3.
Нам удалось собрать и запустить его для iOS8 только из Unity4.6.6 с xCode6.4. Но нам нужен iOS9.

Мы не можем найти ссылки на эту проблему в Интернете, любая помощь будет принята с благодарностью.

Снимок экрана xCode:
снимок экрана xCode

Настройки Unity Player
введите описание изображения здесь

Отредактировано:
Мы тоже попробовали это с Unity5.2.3, не повезло.

Другой фактор, который вы, вероятно, должны знать, это то, что прежде чем мы столкнемся с проблемой, описанной выше, мы отредактировали схему "Run Debug" нашего продукта в xCode и отключили "GPU Frame Capture", потому что у нас была другая проблема, которая не позволяла нам работать наша игра на iOS8.
Вот ссылка, по которой мы следовали.

А вот скриншот нашего оригинального номера: введите описание изображения здесь

Мы действительно застряли здесь, надеюсь, вы можете помочь.

2 ответа

Вы уверены, что этот проект Unity использует сборку mscorlib.dll из версии Mono для Unity? Похоже, что это не может быть.

RedirectToCreateString Фактически никогда не следует выполнять icall, так как сборка Mono mscorlib, используемая в строках сборки Unity через единый CreateString метод. Когда это происходит, это обычно означает, что версия moscorlib.dll не синхронизирована со средой выполнения IL2CPP.

Я не уверен, почему это происходит, но, возможно, стоит попробовать 4.6.9p3 с пустым (или простым) проектом, чтобы заметить разницу.

Это повтор для Джоша Петерсона, я не мог воспроизвести изображение в комментарии к своему ответу.

Я искал mscorlib.dll в моем проекте, но не смог найти его, поэтому я посмотрел старый проект и нашел его. Вот изображение файловой системы обоих проектов.
В любом случае, я не знаю происхождение файла, я не играл с ним вручную.

Я попытался сейчас скопировать mscorlib.dll из старого проекта в новый без удачи.

В любом случае, моя компания решила прекратить это расследование сейчас и перейти на последнюю версию Unity 5.
Надеюсь, нам повезет больше.

Еще раз спасибо

Другие вопросы по тегам