2015-01-05 2 views
0

Я пытаюсь архивировать мой проект 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. Что мне теперь делать? Любая помощь будет оценена.

ответ

1

Проверить этот вопрос: Xcode - Sharing app - PackageApplication failed with exit code 1

Apple, утверждает, что «нет никакой необходимости ...» это как игнорируется, но вы не нарушаете какое-либо правило, я думаю, что другие платформы, которые транслируют это проекты, которые до сих пор принимая во внимание это поле, поэтому, если у вас есть проблемы с компиляцией или архивированием, просто добавьте $(SDKROOT)/ResourceRules.plist в Код правила ресурса для входа в систему. Путь и повторите попытку.

+0

Спасибо. Вы имеете в виду, что я могу добавить это в мои настройки сборки? Что фактически нарушает какое-либо правило? –

+0

Вы можете написать это, и вы не «нарушаете» какое-либо правило. Apple говорит, что «нет необходимости указывать», где я понимаю, что вы можете писать или нет, но если вы это сделаете, ничего не произойдет. – LightMan

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