it-swarm.com.ru

Invalid Bundle, пакет содержит запрещенные вложенные пакеты, содержит запрещенный файл 'Frameworks'

Я добавил общую структуру для обмена кодом между приложением и расширением часов. Позже я удалил общий фреймворк, так как он вызывает много проблем. Я могу собрать И запустить свое приложение на iphone и смотреть. Однако, когда я отправляю в магазин приложений, я вижу эти две ошибки:

ОШИБКА ITMS-90205: «Недопустимый пакет. Пакет в« xxx WatchKit Extension.appex » Содержит запрещенные вложенные пакеты».

ОШИБКА ITMS-90206: «Недопустимый пакет. Пакет в« xxx WatchKit Extension.appex » Содержит запрещенный файл« Frameworks ».»

Я перепробовал все решения, упомянутые в stackoverflow ( это , это , это ) Ни одно из них не работает для меня. Как мне исправить ошибку? Сообщение об ошибке от Apple действительно не дает понять, что я должен делать. 

15
WayneZhao

Я до сих пор не до конца понимаю причину проблемы, но наткнулся на ответ, который, наконец, решил проблему для меня.

https://github.com/CocoaPods/CocoaPods/issues/4203

В частности, сообщение mikehouse от 12 октября 2015 года было решением проблемы.

Добавьте следующий скрипт выполнения ко ВСЕМ встроенным целям расширения. В моем случае мне нужно было добавить сценарий запуска в качестве фазы сборки к моему расширению Today и расширению Apple Watch App.

cd "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/"
if [[ -d "Frameworks" ]]; then 
    rm -fr Frameworks
fi
12
cgossain

Ошибка «ITMS-90206» была устранена в этом сообщении: Ошибка проверки: неверный пакет. Пакет в ... содержит запрещенный файл 'Frameworks'

Настройку необходимо изменить с Да на Нет в параметрах сборки вашего расширения WatchKit:

Embedded Content Contains Swift Code: No
6
tuc0w

Вышеуказанное не сработало для меня.

Embedded Content Contains Swift Code: NO 

На самом деле ничего не сделал для меня. 

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

Embedded Content Contains Swift Code: YES 

И вместо того, чтобы другие динамические фреймворки установили его на «Нет», а вместо этого мне пришлось установить

Always Embed Swift Standard Libraries: NO

в стадии сборки.

Если для этого параметра установлено значение YES, папка frameworks стала причиной сбоя при загрузке в ITC.

6
user023

У меня был фреймворк со следующими настройками сборки:

Always Embed Swift Standard Libraries: YES

Allow Non-Modular includes in Framework Modules: YES

Поэтому я изменил оба на NO и снова собрал фреймворк.

Always Embed Swift Standard Libraries: NO

Allow Non-Modular includes in Framework Modules: NO

Я добавил новую сборку фреймворка в свой проект, чтобы он успешно загрузился в iTunes Connect.

0
Vahid