一尘不染

使用Jenkins和Xcode 7构建iOS应用并通过TestFlight分发.ipa

jenkins

苹果已经发布了Xcode 7更新,再次破坏了一切。

以前,我们不得不处理

ResourceRules.plist:无法读取资源

例如,此处使用hack来解决问题。有些人想知道为什么这首先发生了。

但是,使用Xcode 7更新Code Signing Resource Rules Path时,如果设置了此选项,则会通过给出此错误来禁止使用:

错误ITMS-90339:“此捆绑包无效。Info.plist在捆绑包中包含无效的密钥’CFBundleResourceSpecification’

我的问题(除了我们为什么最终陷入困境)是:

我们如何解决这两个问题,以便iOS构建可以在Jenkins和Xcode 7中正常运行并随后上传TestFlight?


阅读 297

收藏
2020-07-25

共1个答案

一尘不染

看看这个:

我和李东辉是同一条船。我也在使用詹金斯。如果删除,则CODE_SIGN_RESOURCE_RULES_PATH=$(SDKROOT)/ResourceRules.plist无法构建。如果添加它,我可以构建但无法提交给Apple。

更新 ->我现在可以使用Jenkins生成并上传到Apple。
我所做的是:

去掉 CODE_SIGN_RESOURCE_RULES_PATH=$(SDKROOT)/ResourceRules.plist
找到/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/PackageApplication脚本并进行更新。
在脚本中找到包含以下代码的行

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

更改为:

my @codesign_args = ("/usr/bin/codesign", "--force", "--preserve-metadata=identifier,entitlements",
                  "--sign", $opt{sign});

而且,如果您不确定这是个错误,也可以在此处进行确认:http : //cutting.io/posts/packaging-ios-apps-from-the-
command-line/

2020-07-25