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

3
苹果发布了Xcode 7更新,又一次破坏了一切。
之前,我们不得不使用一种所谓的黑科技来处理“ResourceRules.plist: cannot read resources”的问题,例如在这里描述。有些人怀疑为什么会出现这种情况。
然而,在Xcode 7更新中,他们禁止使用“Code Signing Resource Rules Path”,如果设置了此选项,则会出现以下错误:
ERROR ITMS-90339: "This bundle is invalid. The Info.plist contains an invalid key 'CFBundleResourceSpecification' in bundle 这个问题正是关于此问题的,它提出了一个解决方案,建议从构建设置中删除此选项。但是请注意,删除后将出现第一个错误,因此我们陷入循环。
我的问题(当然还有我们如何陷入这个困境)是:
我们如何解决这两个问题,以便Jenkins中的iOS构建和Xcode 7之后的TestFlight上传正常工作?
4个回答

1

谢谢,我会尝试!不过这是一个不太正规的方法,希望有一天我们能以更合理的方式实现它。 - dreamzor

1

1
我通过更改 Jenkins 构建设置解决了同样的问题: 前往 配置 > 高级 Xcode 构建选项 并添加到 自定义 xcodebuild 参数

CODE_SIGN_RESOURCE_RULES_PATH=$(SDKROOT)/ResourceRules.plist


如果您将其传递给xcodebuild或在项目设置/xcconfig中设置它,有什么区别呢?最终结果不是应用程序的info.plist中的CFBundleResourceSpecification条目吗?但是现在这种方式已被Apple禁止了,这对结果会造成影响吗? - Ohad Schneider

0

这两个命令对我来说完美地工作了:

  1. 创建归档:xcodebuild -workspace "/path/to/something.xcworkspace" -scheme "some enterprise" -configuration Release -CODE_SIGN_IDENTITY="your identity" PROVISIONING_PROFILE="61xyz111-22x0-2345-123x-xyxxxxxx" archive -archivePath "/where/you/want/the/archive/xyz.xcarchive"

  2. 生成IPA:xcodebuild -exportArchive -exportFormat IPA -exportProvisioningProfile "Name of your profile" -archivePath "/where/you/saved/the/archive/xyz.xcarchive" -exportPath "/where/you/want/the/IPA/xyz.ipa"


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接