xcode 7:使用相同存档为企业和临时构建

Posted

技术标签:

【中文标题】xcode 7:使用相同存档为企业和临时构建【英文标题】:xcode 7: Building for enterprise and adhoc with the same archive 【发布时间】:2016-07-19 05:08:46 【问题描述】:

目前使用的是xcode 6构建流程,我们先用下面的命令创建xcarchive

xcodebuild -workspace OurApp.xcworkspace -scheme MainScheme \ 
clean archive -archivePath OurApp.xcarchive -sdk "iphoneos" \ 
-configuration "Release" CODE_SIGNING_REQUIRED="NO" \ 
CODE_SIGN_IDENTITY="" PROVISIONING_PROFILE=""

通过不进行任何代码签名和配置,然后我们使用 exportArchive 命令使用相同的存档生成相应的企业和临时 ipa。

xcodebuild -exportArchive -archivePath OurApp.xcarchive \
-exportPath OurApp-adhoc.ipa -exportFormat "ipa" \
-exportProvisioningProfile "Our Adhoc Provisioning Profile"

xcodebuild -exportArchive -archivePath OurApp.xcarchive \
-exportPath OurApp-enterprise.ipa -exportFormat "ipa" \
-exportProvisioningProfile "Our Enterprise Provisioning Profile"

请注意,我们会在运行这些 exportArchive 命令之前让我们的服务器设置适当的代码签名标识。这对我们来说非常有效,因为我们可以使用相同的 xcarchive(编译需要 8 分钟)并使用它创建多个变体(exportArchive 步骤不超过 30 秒)。

在 Xcode7 中,Apple 引入了 exportOptionsPlist。 Xcode 7 还引入了 Swift Support 和 Universal Links 等功能,我们部署了这两个功能。这两个功能似乎需要您使用 exportOptionsPList。我能够获得 exportOptionsPlist 的唯一方法是在生成 IPA 时我不能再将 CODE_SIGN_IDENTITY 和 PROVISIONING_PROFILE 设置为“”。结果,我们的构建时间将加倍,因为我们现在必须构建 xcarchive 两次

我想知道是否有人知道使用同一个 xcarchive 创建企业 IPA 和临时 ipa 的方法。

【问题讨论】:

【参考方案1】:

您好,这是不可能的,因为每当您从存档创建 iPA 时,它都会为 Adhoc 或 Enterprise 或其他方式分别创建每个 iPA。

【讨论】:

以上是关于xcode 7:使用相同存档为企业和临时构建的主要内容,如果未能解决你的问题,请参考以下文章

导出存档时 Xcode 5 崩溃

Xcode 4(和依赖项)的编译、构建或存档问题

ipatool无法使用bitcode构建(xcode 7.1.1)

kivy xcode 7 问题 - 构建和存档工作,但验证失败

xcode 项目构建成功但存档时:bitcode 包可以

xcode 5.1 beta ad hoc 构建无法上传到 Test Flight