Не удается запустить приложение Xamarin.iOS на устройстве
Я разрабатываю приложение iPad с Xamarin.iOS и MVVMcross. Поэтому у меня есть PCL с моей моделью просмотра и моей моделью, а также проект iOS с представлением. Я использую Visual Studio.
Раньше я использовал бета-версию Xamarin.iOS 6.3.6, и когда я попытался запустить приложение на устройстве, был создан файл .app, и я получил его с помощью Ipad, я мог запустить приложение (невозможно запустить непосредственно из Visual Studio).
Вчера я загрузил Xamarin.iOS в 6.4.1. На симуляторе все в порядке. Когда я пытаюсь запустить приложение на устройстве, теперь приложение устанавливается непосредственно, но остановка сборки и следующая ошибка появляются на выходе отладки:
Failed to load AOT module '<my PCL>' while running in aot-only mode: doesn't match assembly.
И если я нажму на значок своего приложения на устройстве, появится черный экран и исчезнет.
Кто-нибудь знает, почему эта ошибка появляется?
Ответы
Ответ 1
Похоже, что что-то было где-то кэшировано или не обновлено правильно.
Вот несколько идей, которые нужно попробовать:
- Удалите приложение с устройства.
- Очистите и перестройте приложение.
- Создайте и установите из Xamarin Studio на вашем Mac.
- Скопируйте конфигурацию Debug в новую конфигурацию (например, DebugTest) и запустите эту конфигурацию.
Ответ 2
Я регулярно получаю ту же проблему.
Обходной путь, который я использую, заключается в том, чтобы переключить платформу в Visual Studio Build Configuration Manager на "iPhoneSimulator", запустить быстрый сеанс отладки, затем переключить платформу обратно на "iPhone", и проблема на некоторое время исчезнет.
К сожалению, у меня нет разумных причин, почему это работает. Кажется, он лучше справляется с "Чистым и перестроенным".
Ответ 3
После прочтения аналогичной ошибки я обнаружил, что очистка папки mtbs на хосте OS X, которая находится в $HOME/Library/Caches/Xamarin/mtbs/
, устраняет эту проблему для меня.
Мне нужно делать это так часто. Я просто открываю сеанс PuTTY на моем ящике Windows, чтобы очистить папку. Надеюсь, что Xamarin скоро устранит эту проблему.
Ответ 4
Убедитесь, что для параметра Linker Behavior установлено значение Don't Link
Очистить, перестроить, удалить старую версию из приложения.
Работал для меня, по крайней мере.
Ответ 5
Это случилось со мной после того, как я обновился до XCode 5/iOS7. Я заметил предупреждение о том, что я не установил инструменты командной строки XCode. После того, как я это сделал, я восстановил приложение и теперь он запускается.
Ответ 6
У меня возникла эта проблема, и она снова заработала, открыв свойства проекта Apple и изменив идентификатор профиля подключения с "Распространение" на "Разработчик".
Ответ 7
Мое обходное решение для Mac -
- Закрыть решение в XS
- Закройте XS. Command-Q
- Верните его и снова откройте.
После этого он обычно работает снова.