Предупреждение во время архивирования приложения с расширением iOS 8 в Xcode 6


У меня проблема при архивировании моего приложения.

Я создал новую цель для расширения iOS 8.

когда я архивирую приложение, я получаю предупреждение.

предупреждение

"предупреждение PBXCp", " предупреждение: пропуск полосы фазы копирования, двоичный код подписан: /Пользователи/Библиотеки/Разработчик/В Xcode/DerivedData/Приложение/Сборка/Полуфабрикатов/ArchiveInter mediates / AppName / IntermediateBuildFilesPath/UninstalledProducts/AppExtappex/AppE xt"

приложение находится в Objective-C.

9 56

9 ответов:

Проверьте опцию "Strip Debug Symbols During Copy"в настройках сборки вашего объекта Xcode. Он говорит, что он не может удалить отладочные символы, потому что расширение уже было подписано.

Если вы создадите новый пример проекта и расширение Today В Xcode 6.2, значения по умолчанию будут установлены в NO для удаления символов отладки.

enter image description here

скопировано с: https://stackoverflow.com/a/30459703/736384

"скомпилированный код обычно содержит отладочную информацию. Это отладочный материал полезно для проверки запущенного кода в отладчике, но в меньшей степени для оптимизированный код, который вы отправляете в дистрибутивные сборки. Поэтому удаляется при выполнении архивной сборки.

проблема здесь в том, что PBXCp не может удалить отладочные символы из подписанных двоичных файлов, потому что это будет недействительным цифровой подпись. Так что если у вас есть проект, который был создан до в Xcode 6.3 теперь вы получите предупреждение, как это.

чтобы исправить предупреждение, просто измените оба значения на нет. Их удаление не работает, потому что значение по умолчанию " да " для обоих. Проект шаблоны, поставляемые с Xcode 6.3, По умолчанию отключены. Только проекты, которые были запущены с более старыми шаблонами, все еще имеют YES on линия выпуска."

источник: https://www.cocoanetics.com/2015/04/skipping-copy-phase-strip/

фреймворк / расширение уже разделено и код подписан по умолчанию. Проект приложения не может обнаружить, что платформа уже была удалена и выдает безвредное предупреждение. Вы должны не отключите его, или ваше приложение не будет удалено.

кажется, есть некоторая путаница вокруг эффекта Strip Символы Отладки Во Время Копирования создать настройки, я рекомендую прочитать эту статью для получения дополнительной информации: Пропуск Копирования Фазы Полосы.

вот мои основные выводы из исследования этого вопроса:

  • при создании нового проекта с Xcode 6.2 или более поздней версии значения вставленные в файл проекта являются нет для обоих по умолчанию конфигурации сборки (отладка и выпуск) для этого параметра.
  • значение да в конфигурации выпуска и выполнение архива продукта не влияет на созданный применение двоичного размера (я призываю вас проверить это через a тест на собственных проектах).
  • отладочные символы, используемые для Sybolication отчетов о сбоях iOS приходят из внешнего мира .dsym файл, который отделен от приложения расслоение, так что я бы не ожидайте, что таблица символов будет включена в двоичный.

Проверьте опцию "стиль полосы" в настройках сборки Xcode target. Если это "Неглобальные символы", измените его на"все символы". это может решить проблему, но я не знаю, есть ли другие проблемы, вызванные этим изменением.

в разделе" развертывание " в настройках сборки ваших целей ищите Strip Debug Symbols During Copy и установить его в YES для любых производственных сборок.

enter image description here

Что сработало для меня было следующее:

я редактировал схему, которую я архивировал. В этом окне я выбрал "выполнить", а затем вкладку "Информация". В "конфигурации сборки" я изменил его на "Release". Я просто изменил его на "Debug" (опция по умолчанию), и это предупреждение исчезло.

Я надеюсь, что это помогает.

Это, вероятно, потому, что вы архивируете с помощью схемы отладки. Если вы выберете схему выпуска, то опция "strip debug symbols during copy" будет установлена в YES, и у вас нет этого предупреждения.

Я предлагаю архивировать с настройками отладки для бета-тестирования, но с настройками выпуска для публикации в App Store.