Xamarin не будет строить на физических устройствах - PullRequest
0 голосов
/ 16 октября 2019

Я создаю приложение Xamarin, и до сих пор я смог без проблем собрать его на iPhone Simulator, но я не смог заставить приложение успешно запускаться на физическом устройстве iPhone. В прошлом (около месяца назад) приложение работало нормально на том же устройстве. Вот некоторые сведения об особенностях:

  • Я разрабатываю свой код Xamarin на моей машине с Windows, которая связана с удаленным Mac (размещенным на MacStadium, сторонней хостинг-службе).
  • Мой тестовый телефон - iPhone 5c под управлением iOS 10.3.3
  • Для развертывания на моем iPhone я создаю свое приложение в режиме выпуска в Visual Studio, загружаю код в стороннее приложениеСлужба установки Installr, которая размещает файл IPA и помогает установить мое приложение на физическое устройство. У меня никогда не было проблем с Installr, и у меня нет оснований полагать, что это источник моей проблемы.
  • С тех пор, как приложение работало в последний раз на физическом устройстве, я обновил Visual Studio до версии 16.3. 2 и обновленный Xamarin. Вот спецификации Xamarin: Xamarin Versions

В общем случае, я загружаю и устанавливаю свое приложение на iPhone без каких-либо проблем. Однако, когда я нажимаю на приложение, экран-заставка загружается примерно на 5 секунд, на короткое время появляется белый экран, как показано ниже, а затем приложение вылетает.

White screen that appears before crash

Я видел несколько связанных статей о StackOverflow и других источниках в Интернете, но ни одно из предложенных решений не сработало для меня. Например, я безуспешно пытался добавить [assembly: XamlCompilation(XamlCompilationOptions.Compile)] в App.xaml.cs.

Я также поиграл с изменением настроек файла CSProj для компиляции для различных комбинаций ARM64 и ARMv7. Изменение этого также не помогло. Я попытался изменить поведение компоновщика на «Не связывать» с «Только SDK Link Framework», и я получаю сообщение об ошибке, в котором говорится, что собственный код слишком велик для 32-разрядных архитектур. Я бы собрал только 64-архитектуру, чтобы обойти эту ошибку, но я считаю, что iPhone 5c использует 32-битную архитектуру.

Вот как выглядит файл CSProj моего iOS-проекта в данный момент. Я попытался проверить почти все эти флажки, но безуспешно:

IOS CSProj file

Я в недоумении относительно того, что это может быть. Любые предложения будут ценны. Чтобы еще больше усложнить ситуацию, я не смог получить хороший файл журнала с iPhone. Так как Mac размещен на удаленном компьютере, я не могу подключить свой телефон к XCode, чтобы получать журналы таким образом. У кого-нибудь есть надежное решение для получения файлов журнала другим способом?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...