ERROR ITMS-9000: "Недопустимая архитектура: приложения, которые включают расширение приложения и фреймворк, должны поддерживать arm64
Я хочу загрузить сборку с помощью расширения пользовательской клавиатуры на Itunes Connect. Но когда я собираюсь загрузить его в Itunes Connect через приложение loader, покажите мне следующую ошибку
ERROR ITMS-9000: "Invalid architecture: Apps that include an app extension and a framework must support arm64
Я добавил действительную архитектуру для "Armv7", armv7s, arm64 в цель расширения клавиатуры и целевую цель приложения. Но я все еще сталкиваюсь с такой же проблемой.
![enter image description here]()
![enter image description here]()
Ответы
Ответ 1
Пожалуйста, проверьте встроенные фреймворки, если они есть. Я столкнулся с той же проблемой, и причина была такова:
При отладке приложения на устройстве Xcode создает фреймворки для "текущей арки". И тогда, даже если вы попытаетесь архивировать проект, Xcode использует уже построенный для одной (!) Арки фреймворка из папки debug-iphoneos.
Итак, я решил эту проблему, установив флаг "Построить для текущей архитектуры" на "Нет" в настройках сборки целевых объектов инфраструктуры, очищая папку сборки (сдвиг опции CM), Архив.
Ответ 2
Моя проблема заключалась в том, что у меня был iPhone 6, подключенный к Xcode, поэтому все быстрые фреймворки только создали версию arm64.
Я отключил свой iPhone 6 и выбранное устройство iOS в качестве адресата.
После этого ошибка исчезла.
Еще одна вещь, которую вы можете сделать, - проверить, действительно ли созданный Архив действительно для всех требуемых архитектур.
Вы можете проверить двоичные файлы в архиве командой commandline:
lipo -info YourBinary
Результат должен выглядеть примерно так:
Architectures in the fat file: YourBinary are: armv7 arm64
Ответ 3
Я столкнулся с этой проблемой в Xcode 6.1. Я смог разрешить его, закрыв Xcode, удалив папку Derived Data
, восстановив все, а затем снова архивируя.
У вас есть только "Build для текущей архитектуры", установленный в "Нет" в вашей основной цели, и любые включенные цели для конфигурации сборки, которые вы в настоящее время архивируете.
Ответ 4
Убедитесь, что ваш целевой объект установлен на универсальное устройство iOS для фреймворка.
Вы можете сделать это, перейдя в Product- > Destination- > Generic iOS.
В противном случае он строит его специально для этого устройства и только его архитектуры.