Ответ 1
Ничего, не нашел проблему. Конфигурация, которую я использовал для создания архива, была Build Active Architecture Only
установлена на Yes
. Глупый я.
Я пытаюсь загрузить новую сборку в TestFlight, но Application Loader дает мне следующую ошибку:
ERROR ITMS-90502: "Invalid Bundle. Apps that only contain the arm64 slice must
also have 'arm64' in the list of UIRequiredDeviceCapabilities in Info.plist."
Если я добавлю arm64
в UIRequiredDeviceCapabilities
, как было предложено, я получаю еще одну ошибку:
ERROR ITMS-90098: "This bundle is invalid. The key UIRequiredDeviceCapabilities contains
value 'arm64' which is incompatible with the MinimumOSVersion value of '8.0'."
Поиск Google не показывает ничего.
Я не уверен, что вызывает эту проблему, и почему пакет содержит только arm64
. Я проверил настройки проекта, и они, похоже, включают в себя другие архитектуры. ARCHS
(Архитектуры) установлено значение Standard architectures (armv7, arm64)
, VALID_ARCHS
(Действительные архитектуры) установлено на arm64 armv7 armv7s
.
Прошло некоторое время с тех пор, как я попытался загрузить последнюю сборку (~ 1 месяц). Одно из обновлений от Apple что-то сломало? (С тех пор я определенно не касался настроек архитектуры, единственное, что было добавлено, было UIBackgroundModes = remote-notification
). Или есть еще одна причина этой ошибки?
Ничего, не нашел проблему. Конфигурация, которую я использовал для создания архива, была Build Active Architecture Only
установлена на Yes
. Глупый я.
Я ударил ту же ошибку через несколько месяцев после этой публикации. Я нашел эту публикацию в Google и, если другие приходят сюда по тому же пути, есть еще одна причина ошибки ITMS 90502
(консенсус в том, что это новое требование в конце-октябре/начале ноября 2015 года).
Если вы добавляете другие фреймворки в свое приложение, они также должны содержать требуемую способность "arm64". То есть, это должно быть в Info.plist:
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>arm64</string>
</array>
Я решил эту ошибку ERROR-ITMS 90502
.
Если активная архитектура установлена только в YES
, но появляется такая же ошибка.
Однако, если ваш телефон может подключиться к Mac, отключите его и загрузите.
В моем случае, решено!
У меня была эта проблема с использованием Xamarin и в итоге по этому вопросу.
Для меня решение заключалось в том, чтобы при создании приложения не включались символы Debug.
В Xamarin Studio щелкните правой кнопкой мыши проект → параметры. Выберите "Компилятор" в заголовке "Build". Откроется раскрывающийся список "Отладочная информация".
Очистить, перестроить, переупаковать и загрузить снова, и это сработало.
Просто если кто-нибудь еще с этой проблемой в последнее время при создании для iOS 11 и выше, этот ключ необходим для приложения, и он также необходим для любых расширений, которые у вас есть в приложении. Однако нет необходимости иметь его в каких-либо рамках.
Если вы используете cocoapods, вам нужно добавить ключ "UIRequiredDeviceCapabilities" для каждой зависимости. Включите эту пост-установку в свой подфайл.
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
Другой способ:
1 - Отключите любое тестовое устройство от вашего mac
2 - Архив.
Проблема, о которой вы упомянули, произошла только тогда, когда я попытался архивировать, пока мой iPhone был подключен.
Если вы архивируете в отключенном состоянии, эта проблема исчезнет.
У меня была та же проблема с Xamarin
все, что я сделал, чтобы исправить тип сборки изменения проблемы до Release| iPhone
, пока вы подключаете реальное устройство
надеюсь, что эта помощь
В моем случае у меня был: ОШИБКА ITMS-90503 Только с arm64 (без "только" ) в ключе UIRequiredDeviceCapabilities
А: Архивирование в режиме "Отладка" работало для меня
это работает для меня..
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>armv7</string>
</array>
В моем случае решение этой проблемы в Visual Studio для Mac состояло в установке ARMv7 + ARM64 на панели параметров ios.