2014-10-20 3 views
9

Я обновил OS X Yosemite, а также Xcode 6.1 (скачанный с сайта разработчика), с этого времени у меня возникла проблема со зданием, как в файле журнала, я вижу заметку Msgstr "Предупреждение: правила -resource устарели в Mac OS X> = 10.10!". Кто-нибудь знает, как использовать плагин Xcode без флага «правила ресурсов»? Спасибо.Jenkins vs. Xcode plugin - проблемы с кодовым кодом

+0

У меня тоже есть эта проблема. – doogilasovich

ответ

14

Все в порядке с плагином Дженкинса. Неверные настройки продукта.

Откройте вкладку «Настройки сборки» вашего проекта. Искал «Code Signing Resource Rules Path», он был пуст для меня. Изменить на: $(SDKROOT)/ResourceRules.plist

кредитов идет на Адамса Блэра, который описал эту проблему с SDK2.2

https://stackoverflow.com/a/7919137/2124345

Update

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

И снова, это не связано с плагином дженкинсов вообще. То же самое происходит с xcrun -sdk iphoneos PackageApplication. Дженкинс просто называет эту командную строку как шаг сборки.

+0

Спасибо, Julius за объяснение, я никогда не использовал «Code Signing Rules Path», у меня это поле всегда пусто. Также я был замешан в технической ноте Apple TN2206 - «Не используйте флаг -resource-rules или ResourceRules.plist. Они устарели и будут отклонены». Я вернул обратно Maverick и Xcode 6.0.1, когда у меня будет новая среда, я попробую решение, которое вы упомянули. – zskalnik

+0

Что делать, если у вас нет проекта Xcode?Что это делает Xcode для запуска, когда он вызывает инструмент codeign? – Trejkaz

1

Как указано в another answer, вы также можете просто не указывать сертификат распространения для подписи, и он будет правильно упаковываться.

2

Ответ, предоставленный Юлиусом Лизаускасом, разрешит предупреждение, но на самом деле это всего лишь обходной путь для ошибки, которая существует в плагине Jenkins Xcode xcrun.

Как уже упоминалось в Apple Technical Note TN2206:

системы, прежде чем OS X Mavericks документировали подписи функции (--resource-правила), чтобы контролировать, какие файлы в пачке должны быть запечатаны посредством подписи кода. Эта функция была устарела для Mavericks. Подписи кодов, сделанные в Mavericks, а затем всегда запечатывают все файлы в комплекте ; нет необходимости указывать это явно. Этот также означает, что установка пути пути правил доступа к кодовой ссылке в Xcode больше не должна использоваться и должна быть оставлена ​​пустой.

Таким образом, невозможно исключить части комплекта из подписи . Связки следует рассматривать как доступные только для чтения после того, как они были подписаны .

Существует ошибка issue raised on the Jenkins Xcode plugin относительно этой ошибки, которая завершает ошибку в Xcrun.

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

  • Нет связанных вопросов^_^