代码签名资源规则路径在Jenkins,CODE_SIGN_RESOURCE_RULES_PATH上失败

Dum*_*oko 7 xcode continuous-integration xcodebuild ios

我很少关心人们如何对待以下问题.

基本上它听起来像"在Jenkins上构建失败了ResourceRules.plist: cannot read resources"

我的情况是:

1)詹金斯

2)本地我在Xcode 7 beta工作(在一个单独的分支上)

3)我的队友在6.4.1工作,对他们来说一切正常

4)Jenkins slave已安装Xcode 6.4.1

你们当中有些人会说"这个问题被问到了数百万次",就像这里,这里,这里,这里一样.

文件下面说:

资源规则

OS X Mavericks v10.9之前的系统记录了一个签名功能(--resource-rules)来控制捆绑包中的哪些文件应该由代码签名密封.此功能已被淘汰为小牛队.在Mavericks中进行代码签名,之后总是将所有文件密封在一起; 没有必要再明确指定它.这也意味着不再使用Xcode中的代码签名资源规则路径构建设置,应该留空.

所以我的问题是为什么每个人都可以快速绕过,破解,解决这个问题,当文档明确说明应该是空白的并且它已经过时了?

这背后的真正问题是什么?为什么构建失败了几年不需要的东西?

Sub*_*bbu 5

我有同样的问题.车削加工Mr.Dan提出的解决方案在这里为我工作.

为了节省一些时间,我们需要从网络链接.

"从小牛队开始,签名应用程序时不应包含资源规则选项,但由于某种原因,脚本仍将此选项传递给代码签名工具.

解决方法是更改​​PackageApplication脚本,使其不再执行此操作(这将需要sudo访问权限).脚本的第155行构造参数以传递给代码签名者,因此我们可以简单地删除对resource-rules的引用:"

//Remove - Begin
    - my @codesign_args = ("/usr/bin/codesign", "--force", "--preserve-metadata=identifier,entitlements,resource-rules",
    -   "--sign", $opt{sign},
    -   "--resource-rules=$destApp/ResourceRules.plist");
//Remove - End

//Add - Begin
    + my @codesign_args = ("/usr/bin/codesign", "--force", "--preserve-metadata=identifier,entitlements",
    +   "--sign", $opt{sign});
//Add - Starts
Run Code Online (Sandbox Code Playgroud)