【问题标题】:iOS ipa codesign on XCode 6.1 & YosemiteXCode 6.1 和 Yosemite 上的 iOS ipa 代码设计
【发布时间】:2014-12-16 18:13:21
【问题描述】:

我习惯于使用以下命令对我的应用进行签名

codesign --resource-rules=ResourceRules.plist -f -s "SIGNER_NAME" MYAPP.app

安装 Yosemite 和 XCode 6.1 后,它会给出以下警告:

Warning: --resource-rules has been deprecated in Mac OS X >= 10.10!

所以我试图删除“--resource-rules”,但现在它给出了以下(阻塞)错误:

invalid resource specification rule(s)

有没有正确的协同设计方法?

【问题讨论】:

    标签: ios xcode6 osx-yosemite codesign


    【解决方案1】:

    您可以使用 iReSign 吗? https://github.com/maciekish/iReSign

    这是一个允许使用 mobileProvision 证书签署(或退出)ipa 文件的 GUI。

    我在 Yosemite 上试过,效果很好。

    【讨论】:

      【解决方案2】:

      结束这个post 他们回答你的问题。那篇文章更倾向于使用构建服务器(Jenkins CLI),但答案对你来说是一样的(答案的作者指出它不是 Jenkins 独有的)。

      为了回答这个页面上的问题,这里是他们的答案:

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

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

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

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

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

      【讨论】:

      • 我刚刚因为将 ResourceRules.plist 文件添加到构建设置而拒绝了一个应用程序。 Apple 向我们发送了一条通知,要求我们删除该文件并重新提交。
      • @Greg - 你最后做了什么?你需要这个标志来获得 IPA,但如果他们拒绝了你的应用程序,那该怎么办?
      • 我最终从项目中删除了 ResourceRules.plist 文件并从构建设置中删除了代码签名资源规则路径,然后创建了一个存档并提交了该文件。不过,我没有检查我们的源代码控制的这些更改,因此 Jenkins 仍然可以成功构建项目,直到我找到一个更好的解决方法,同时满足 Jenkins 和 Apple 的审查。
      • @Greg - 听起来不错。感谢您的输入。我正在考虑做同样的事情。我认为解决方案可能是将参数传递给 Jenkins 构建参数,该参数为您设置 ResourceRules.plist,以便您可以在构建期间完成它,而不是将其放在项目设置中。不过,我还没有尝试看看这是否有效。
      • 有没有一种方法可以通过更改构建脚本而不是更改项目设置来完成
      猜你喜欢
      • 1970-01-01
      • 2014-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-23
      • 2013-10-10
      • 2015-01-19
      相关资源
      最近更新 更多