2016-09-17 3 views
2

я получаю сообщение об ошибке при загрузке сборки в магазин App:.Xcode 8 выпускает приложение Crash?

«Invalid Bundle каталога активов в„$“пути не может содержать 16-разрядные или P3 активов, если приложение таргетинг IOS релизов раньше, чем iOS 9.3 "

Раньше я загружал его в бета-тестирование, и мой целевой показатель развертывания - 8.3.

ответ

3

Этот ответ является именно решение для Вашего вопроса

https://stackoverflow.com/a/39453818/1271424

Вы должны найти все P3 активы, а затем преобразовать их в SRGB цветовое пространство (используя любой редактор изображений). Вот оригинальный ответ:

С Xcode 8 GM, будет происходить эта ошибка, если включить 16-разрядную или P3 активов в качестве представления приложений таргетирования IOS релизов раньше, чем IOS 9,3. Если для вашего приложения требуется широкая цветовая функциональность, вы должны изменить свой целевой уровень развертывания на iOS 9.3 или новее. Если у вашего приложения нет , требуется широкая цветовая функциональность, и вы хотите развернуть его на более старые версии iOS, тогда вы должны заменить все 16-разрядные или P3-активы на 8-разрядные активы sRGB. Вы можете найти 16-разрядные или P3-активы, запустив «assetutil» в каталоге активов, указанном в сообщении об ошибке от iTunes Connect. Следующие шаги описывают этот процесс:

  1. Создайте файл с проверкой .ipa. В Xcode Organizer (Xcode-> Window-> Organizer) выберите архив для проверки, нажмите «Экспортировать ...» и выберите «Экспорт для Enterprise или Ad-Hoc Deployment». Это создаст локальную копию файл .ipa для вашего приложения.

  2. Найдите файл .ipa и изменить его расширение на .zip.

  3. Развернуть .zip файл. Это создаст папку Payload, содержащую ваш .app сверток.

  4. Откройте терминал и смените рабочий каталог на верхний уровень вашего пула .app. Cd path/to/Payload/your.app

  5. Используйте инструмент поиска, чтобы найти файлы Assets.car в вашем пакете .app, как показано ниже: find. -name 'Assets.car'

  6. Используйте инструмент assetutil для поиска любых 16-разрядных или P3-активов в каждом Assets.car, которое имеет ваше приложение, как показано ниже. : Суд xcrun --sdk iphoneos assetutil --info /path/to/a/Assets.car> /tmp/Assets.json

  7. Изучить полученную /tmp/Assets.json и искать любое содержание, содержащее « DisplayGamut ":" P3 "и связанное с ним" Имя ". Это будет - имя вашего набора изображений, содержащего один или более 16-разрядных или P3 активов.

  8. Замените эти активы 8-разрядными/sRGB-активами, а затем перестройте свое приложение.

Update: Если Target Deployment установлен либо 8.3 или 8.4, и у вас есть каталог активов, то вы получите это же сообщение об ошибке, даже если вы не на самом деле имеют 16-разрядную или P3 активы , В этом случае вам нужно будет либо снизить ваш целевой уровень развертывания до 8,2, либо переместить его до 9.x.

Смежные вопросы