【问题标题】:Jenkins vs. Xcode plugin - codesign troublesJenkins vs. Xcode 插件 - 代码设计的麻烦
【发布时间】:2015-10-26 08:45:21
【问题描述】:

我已经更新到 OS X Yosemite 和 Xcode 6.1(从开发者网站下载),从那时起我遇到了构建问题,因为在日志文件中我看到了注释“警告:--resource-rules已在 Mac OS X >= 10.10 中弃用!”。有人知道如何在没有“资源规则”标志的情况下使用 Xcode 插件吗?谢谢。

【问题讨论】:

  • 我也有这个问题。

标签: xcode jenkins jenkins-plugins codesign


【解决方案1】:

Jenkins 插件一切正常。只是产品设置不正确。

打开项目的“构建设置”选项卡。搜索“代码签名资源规则路径”,对我来说是空的。改为:$(SDKROOT)/ResourceRules.plist

感谢 Adams Blair,他用 SDK2.2 描述了这个问题

https://stackoverflow.com/a/7919137/2124345

更新

此解决方案不会删除警告本身。但我很确定警告不是问题。问题是如果没有这个设置 ResourceRules.plist 文件不会在 Payload 文件夹中生成,并且构建过程会因为文件丢失而停止。

再一次,它与 jenkins 插件完全无关。 xcrun -sdk iphoneos PackageApplication 也会发生同样的错误。 Jenkins 只是将此命令行称为构建步骤。

【讨论】:

  • 谢谢 Julius 的解释,我从来没有使用过“代码签名规则路径”,我这个字段总是空的。此外,我对 Apple 技术说明 TN2206 感到困惑 - “不要使用 --resource-rules 标志或 ResourceRules.plist。它们已过时并将被拒绝。”,我已恢复到 Maverick 和 Xcode 6.0.1,当我再次有新环境时,我会尝试你提到的解决方案。
  • 如果您没有 Xcode 项目怎么办?当 Xcode 调用 codesign 工具时,这实际上使 Xcode 运行了什么?
【解决方案2】:

Julius Lisauskas 提供的答案将解决该警告,但它实际上只是 Jenkins Xcode 插件 xcrun 中存在的错误的一种解决方法。

如Apple Technical Note TN2206中所述:

OS X Mavericks 之前的系统记录了签名功能 (--resource-rules) 控制捆绑中的哪些文件应该被密封 通过代码签名。此功能已被 Mavericks 淘汰。 Mavericks 和后来的代码签名总是将所有文件密封在一个 捆;不再需要明确指定这一点。这个 也意味着代码签名资源规则路径构建设置在 Xcode 不应再使用,应留空。

因此不再可能从 签名。捆绑包应被视为只读 签名。

有一个关于此错误的issue raised on the Jenkins Xcode plugin 得出的结论是该错误存在于 Xcrun。

【讨论】:

    【解决方案3】:

    如another answer 中所述,您也可以不指定要签名的分发证书,它会正确打包。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-03
      • 1970-01-01
      • 1970-01-01
      • 2013-05-09
      • 1970-01-01
      相关资源
      最近更新 更多