Я пытаюсь архивировать мой проект Xcode из терминала командной строки, используя xcodebuild и xcrun. Чтобы быть достаточно ясным, я делаю это из сценария ANT.Ошибка сборки командной строки Xcode
<target name="build">
<exec executable="/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild">
<arg value="-project"/>
<arg value="${local.projectPath}/${app.id}.xcodeproj"/>
<arg value="-scheme"/>
<arg value="${scheme}"/>
<arg value="-configuration"/>
<arg value="${configuration}"/>
<arg value="clean"/>
<arg value="build"/>
</exec>
</target>
<target name="package" depends="build">
<exec executable="xcrun">
<arg value="-sdk"/>
<arg value="iphoneos"/>
<arg value="PackageApplication"/>
<arg value="-v"/>
<arg value="${local.projectPath}/DerivedData/dist/${app.id}/Build/Products/${configuration}-iphoneos/${app.id}.app"/>
<arg value="-o"/>
<arg value="${local.ipaPath}/${app.id}.${appVersion}.b${buildNumber}.${environment}.ipa"/>
<arg value="--sign"/>
<arg value="iPhone Distribution: ${developerName}"/>
<arg value="--embed"/>
<arg value="${provisioningProfile}"/>
</exec>
После обновления до версии 6.1, я получаю ниже ошибки.
/var/folders/hk/bg4j097j1kncryfrplv4b3bw0000gp/T/f3UZyfiqbS/Payload/MyApp.app/ResourceRules.plist: не могут читать ресурсы
Тогда я нашел ниже пост.
Xcode - Sharing app - PackageApplication failed with exit code 1
В соответствии с этим, я добавил раздел подписи ниже в коде параметров сборки.
Code Signing Правила ресурса Путь: $ (SDKROOT) /ResourceRules.plist
, что решить мою проблему, хотя предупреждение по-прежнему сохраняется. Но я наткнулся на техническую записку от Apple @https://developer.apple.com/library/mac/technotes/tn2206/_index.html#//apple_ref/doc/uid/DTS40007919-CH1-TNTAG401, которая гласит, что:
«Системы, прежде OS X Mavericks документированной функцию подписи (--resource-правила), чтобы контролировать, какие файлы в пачке должны быть заделаны с помощью подписи кода Эта функция была устаревана для Mavericks. Подписи кодов, сделанные в Mavericks, а затем всегда запечатывают все файлы в комплекте, и нет необходимости в этом явно указывать. Это также означает, что настройка пути к правилам правил доступа к коду в Xcode больше не должно использоваться и должно быть оставлено пустым. Таким образом, больше невозможно исключить части пакета из подписи. Связки следует рассматривать как доступные только для чтения, как только они были подписаны ».
Я полностью смущен сейчас. Если оставить поле пустым, я получаю ошибку. И если я включаю, это нарушает рекомендации Apple. Что мне теперь делать? Любая помощь будет оценена.
Спасибо. Вы имеете в виду, что я могу добавить это в мои настройки сборки? Что фактически нарушает какое-либо правило? –
Вы можете написать это, и вы не «нарушаете» какое-либо правило. Apple говорит, что «нет необходимости указывать», где я понимаю, что вы можете писать или нет, но если вы это сделаете, ничего не произойдет. – LightMan