我想从命令行终端存档我的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
根据这一点,我添加构建设置下面的代码签名部分。
代码签名资源规则路径:$(SDKROOT)/ResourceRules.plist
这解决了我的问题,但警告仍然存在。但是,我在整个苹果公司的技术说明进来@https://developer.apple.com/library/mac/technotes/tn2206/_index.html#//apple_ref/doc/uid/DTS40007919-CH1-TNTAG401其中指出:
“系统之前OS X小牛队记录了签名功能(--resource规则)来控制哪些文件在包应该由代码签名密封。这个特性已经被小牛队取代了,小牛队的代码签名和后来总是将所有的文件封装在一个包中,没有必要再明确指出这一点这也意味着代码签名资源规则路径在Xcode中建立设置应该不再使用,并且应该留空。 因此,不再可能从签名中排除一部分捆绑包,捆绑包在签名后应该被视为只读。
我现在完全混淆了。如果我将该字段留空,则会出现错误。如果我包含,它违反了Apple的准则。我现在应该怎么做?任何帮助将不胜感激。
谢谢。你的意思是我仍然可以在我的构建设置中添加它?什么实际上违反了任何规则? –
你可以编写它,而你并没有“违反”任何规则。苹果表示“没有必要指定”,我明白你可以写或不写,但如果你这样做,什么都不会发生。 – LightMan