Я обновил OS X Yosemite, а также Xcode 6.1 (загружен с сайта разработчика), с этого времени у меня возникла проблема со зданием, так как в файле журнала я вижу примечание "Warning: --resource-rules устарел в Mac OS X >= 10.10!". Кто-нибудь знает, как использовать плагин Xcode без флага "правила ресурсов"? Спасибо.
Jenkins vs. Xcode плагин - проблемы с кодом
Ответ 1
Все в порядке с плагином Jenkins. Неверные настройки продукта.
Откройте вкладку "Настройки сборки" вашего проекта. Искал "Code Signing Resource Rules Path", он был пуст для меня. Изменить на: $(SDKROOT)/ResourceRules.plist
кредиты принадлежат Адамсу Блэру, который описал эту проблему с SDK2.2
fooobar.com/questions/42952/...
Обновление
Это решение не устраняет самого предупреждения. Но я уверен, что предупреждение не проблема. Проблема заключается в том, что без этого параметра файлы ResourceRules.plist не создаются в папке Payload, а процесс сборки останавливается, потому что файл отсутствует.
И снова, он не связан с плагином jenkins вообще. Такая же ошибка происходит с xcrun -sdk iphoneos PackageApplication
. Дженкинс просто вызывает эту командную строку как шаг сборки.
Ответ 2
Ответ, предоставленный Julius Lisauskas, разрешит предупреждение, но на самом деле это всего лишь обходной путь для ошибки, которая существует в плагине Jenkins Xcode xcrun.
Как упоминалось в Техническая нота Apple TN2206:
Системы до OS X Mavericks задокументировали функцию подписи (--resource-rules), чтобы контролировать, какие файлы в комплекте должны быть запечатаны подписи кода. Эта функция была устарела для Mavericks. Подписи кодов, сделанные в Mavericks, а затем всегда запечатывают все файлы в расслоение; нет необходимости указывать это явно. Эта также означает, что параметр построения пути к правилам правил подписи кода в Xcode больше не должен использоваться и должен оставаться пустым.
Таким образом, невозможно исключить части пучка из подпись. Связки следует рассматривать как доступные только для чтения, как только они были подписан.
Существует проблема поднятая в плагине Jenkins Xcode относительно этой ошибки, которая завершает ошибку в Xcrun.
Ответ 3
Как указано в другом ответе, вы также можете просто не указывать сертификат распространения для подписывания, и он будет правильно упаковываться.