【问题标题】:Build iOS app and distribute .ipa via TestFlight with Jenkins and Xcode 7使用 Jenkins 和 Xcode 7 通过 TestFlight 构建 iOS 应用程序并分发 .ipa
【发布时间】:2015-12-19 15:24:22
【问题描述】:

Apple 发布了 Xcode 7 更新,再次破坏了一切。

以前,我们不得不处理

ResourceRules.plist:无法读取资源

使用描述的 hack 发出问题,例如,here。有些人wonder为什么一开始会发生这种情况。

但是,随着 Xcode 7 的更新,他们通过在设置此选项时给出此错误来禁止使用 Code Signing Resource Rules Path

错误 ITMS-90339:“此捆绑包无效。Info.plist 捆绑包中包含无效键“CFBundleResourceSpecification”

这个question 正是关于这个问题的答案,建议从构建设置中删除这个选项。你猜怎么着,删除后第一个错误弹出,所以我们发现自己在循环中。

我的问题(当然,除了我们为什么会陷入这种混乱)是:

我们如何解决这两个问题,以便 iOS 构建在 Jenkins 和 Xcode 7 中工作,然后上传 TestFlight?

【问题讨论】:

    标签: ios xcode jenkins xcode7 testflight


    【解决方案1】:

    看看这个:https://stackoverflow.com/a/32762413/5373468

    如果你不确定这是一个错误,你也可以在这里得到确认:http://cutting.io/posts/packaging-ios-apps-from-the-command-line/

    【讨论】:

    • 谢谢,我试试!然而,这是一个肮脏的黑客,希望有一天我们能够以理智的方式做到这一点。
    【解决方案2】:

    从 Xcode 7 开始,我们应该使用 xcodebuild 而不是 PackageApplication 来生成 .ipa 文件。

    xcodebuild 有一个新的 -exportArchive 选项来创建一个更像 Xcode Organizer 的 .ipa。

    详情请看这里的答案: iOS builds / ipa creation no longer works from the command line

    【讨论】:

      【解决方案3】:

      我通过更改 Jenkins 构建设置解决了同样的问题: 转到 Configure > Advanced Xcode build options 并添加到 Custom xcodebuild arguments

      CODE_SIGN_RESOURCE_RULES_PATH=$(SDKROOT)/ResourceRules.plist

      【讨论】:

      • 把这个传给xcodebuild或者在项目设置/xcconfig中设置有什么区别?最终结果不会是应用程序的info.plist 中的CFBundleResourceSpecification 条目,Apple 现在不允许这样做吗?
      【解决方案4】:

      这两个命令对我来说非常有效:

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

      2. 生成 IPA: xcodebuild -exportArchive -exportFormat IPA -exportProvisioningProfile "您的配置文件名称" -archivePath "/where/you/saved/the/archive/xyz.xcarchive" -exportPath "/where/you/want/the/IPA/xyz.ipa"

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-10-24
        • 1970-01-01
        • 2015-09-03
        • 1970-01-01
        • 1970-01-01
        • 2017-08-01
        • 1970-01-01
        • 2012-01-21
        相关资源
        最近更新 更多