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

xcode 7: Building for enterprise and adhoc with the same archive

目前使用xcode6构建过程,我们首先使用以下命令创建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 命令使用相同的存档生成相应的企业和临时 ipas,就像这样。

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 支持和通用链接等功能的引入,我们部署了这两个功能。这两个功能似乎要求您使用 exportOptionsPList 。我能够获得 exportOptionsPlist 的唯一方法是在生成 IPA 时我无法再将 CODE_SIGN_IDENTITY 和 PROVISIONING_PROFILE 设置为“”。结果,我们的构建时间将翻倍,因为我们现在必须构建 xcarchive 两次

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

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