Загрузчик приложений: ошибка ITMS-90502
Я пытаюсь загрузить новую сборку в TestFlight, но загрузчик приложений дает мне следующую ошибку:
ошибка ITMS-90502: "недопустимый пакет. Приложения, содержащие только arm64 slice также должен иметь 'arm64' в списке UIRequiredDeviceCapabilities в информации.файл plist."
если я добавить arm64
до UIRequiredDeviceCapabilities
как было предложено, я получаю другую ошибку:
ошибка ITMS-90098: "этот пакет недействителен. Ключ UIRequiredDeviceCapabilities содержит значение 'arm64', которое несовместимо со значением MinimumOSVersion '8.0'."
Я не уверен, что вызывает эту проблему и почему пакет содержит только arm64
архитектура. Я проверил настройки проекта, и они, похоже, включают другие архитектуры. ARCHS
(архитектуры) имеет значение Standard architectures (armv7, arm64)
, VALID_ARCHS
(допустимые архитектуры) имеет значение arm64 armv7 armv7s
.
прошло некоторое время с тех пор, как я пытался загрузить последнюю сборку (~1 месяц). Делавший одно из обновлений от Apple что-нибудь сломать? (Я определенно не касался настроек архитектуры с тех пор, единственное, что добавлено было UIBackgroundModes = remote-notification
). Или есть другая причина этой ошибки?
12 ответов
неважно, нашел проблему. Конфигурация, которую я использовал для создания архива, имела Build Active Architecture Only
значение Yes
. Глупый я.
Я попал в ту же ошибку через несколько месяцев после этой публикации. Я нашел эту публикацию в Google, и, если другие придут сюда по тому же пути, есть еще одна причина для ITMS 90502
ошибка (консенсус заключается в том, что это новое требование в конце октября/начале ноября 2015 года).
Если вы включаете другие фреймворки в свое приложение, они также должны содержать необходимые возможности устройства "arm64". То есть, это должно быть в информации.файл plist:
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>arm64</string>
</array>
Если вы используете cocoapods, вы должны добавить ключ "UIRequiredDeviceCapabilities" к каждой зависимости. Включите эту установку post в свой Подфайл.
post_install do |installer|
installer.pods_project.targets.each do |target|
plist_buddy = "/usr/libexec/PlistBuddy"
plist = "Pods/Target Support Files/#{target}/Info.plist"
puts "Add armv7 to #{target} to make it pass iTC verification."
`#{plist_buddy} -c "Add UIRequiredDeviceCapabilities array" "#{plist}"`
`#{plist_buddy} -c "Add UIRequiredDeviceCapabilities:0 string armv7" "#{plist}"`
end
end
Я решил эту ERROR-ITMS 90502
ошибка.
Если активная архитектура установлена только в YES
, но появляется та же ошибка.
однако, если ваш телефон может подключиться к mac, отключите его и загрузите.
в моем случае, решена!
У меня была эта проблема с использованием Xamarin и закончилась на этом вопросе.
для меня решением было убедиться, что никакие символы отладки не включены при создании приложения.
в Xamarin Studio щелкните правой кнопкой мыши проект - > параметры. Выберите "компилятор" в разделе "сборка". Проверьте раскрывающийся список "отладочная информация".
очистить, перестроить, упаковать и загрузить снова, и это сработало.
иначе:
1 - Отключите любое тестовое устройство от компьютера mac
2 - архиве.
проблема, которую вы упомянули, произошла только тогда, когда я попытался архивировать, пока мой iPhone был подключен.
Если вы архивируете во время отключения, эта проблема исчезнет.
просто если есть кто-то еще с этой проблемой в последнее время при создании для iOS 11 и выше, этот ключ необходим для приложения, а также для любых расширений, которые у вас есть в приложении. Однако нет необходимости иметь его в каких-либо рамках.
если цель развертывания вашей цели находится в iOS 11.0 или более поздней версии, вы должны иметь arm64
в своем info.plist
. Создание нового проекта в Xcode 9.X только добавляет armv7
под UIRequiredDeviceCapabilities
, кажется, ошибка.
обновить info.plist
' s UIRequiredDeviceCapabilities
ключ:
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>arm64</string>
</array>
в моем случае у меня был: ОШИБКА ITMS-90503 Только с arm64 (Без "только") в ключе UIRequiredDeviceCapabilities
и: Архивирование в режиме "отладка" работало для меня
это работает для меня..
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>armv7</string>
</array>
У меня была такая же проблема с Xamarin
все, что я сделал, чтобы исправить проблему изменить тип сборки на Release| iPhone
при подключении реального устройства
надеюсь, что это поможет
в моем случае, что решило это в Visual Studio для Mac, было установить даже ARMv7 + ARM64 на панели параметров ios.