2016-12-02 37 views
1

在Xcode 7中,我使用以下命令通过命令行为多个配置文件构建项目。我有多个配置文件和多个代码签名证书链接到这些配置文件,所以我需要用适当的配置文件签署IPA文件。xcode 8 xcodebuild手动代码从命令行签名用于多个配置文件

PROVISION_PROFILE="My Provision profile name" 

xcodebuild -workspace ../ProjectName.xcworkspace -scheme "${PRODUCT_NAME}" -sdk iphoneos -configuration "${CONFIGURATION}" archive -archivePath "${TARGET_BUILD_DIR}/${PRODUCT_NAME}.xcarchive" 

xcodebuild -exportArchive -archivePath "${TARGET_BUILD_DIR}/${PRODUCT_NAME}.xcarchive" -exportPath "${BINDIR}/${PACKAGE_NAME}-${CURVERSION}.ipa" -exportProvisioningProfile "${PROVISION_PROFILE}" 

现在这些命令没有工作的Xcode 8.我取消了自动管理签订后,它给下面的错误

“someProjectName”要求供应配置文件。在项目编辑器中为“调试”构建配置选择配置配置文件。 SDK'iOS 10.1'中产品类型'应用'需要代码签名 有人请帮助我。

+1

你能添加什么样的“签名”部分看起来像在Xcode项目的目标设置的屏幕截图,在常规 - >签名?这听起来像您的调试配置没有在项目文件中设置配置文件。 –

+1

没错,我没有在该部分添加配置文件,因为我想从命令行构建它。因为我有不同配置的多个配置文件,所以我需要从命令行传递它们。你知道我怎么能从命令行传递它们? – Gaurav

+0

@kgaleman这是必要从项目编辑器传递此信息? – Gaurav

回答

0

您只在您的-exportArchive命令中指定供应配置文件。在-workspace命令中,Xcodebuild正在进入您指定的-scheme,该文件查看project.pbxproj文件,并抓取您从项目编辑器中为正在构建的方案指定的配置放置的配置文件。

如果您在文本编辑器中打开project.pbxproj文件,您会看到Debug配置没有列出供应配置文件,这就是Xcodebuild抛出此错误的原因。要解决此问题,请在项目编辑器(或project.pbxproj)中添加您的配置配置文件,以获取您的方案构建的配置。

编辑:现在,我更好地理解了需求,用另一个选项编辑我的答案。你也可以做到这一点手动指定在构建步骤配置简介:

xcodebuild -workspace ../ProjectName.xcworkspace -scheme "${PRODUCT_NAME}" -sdk iphoneos -configuration "${CONFIGURATION}" archive -archivePath "${TARGET_BUILD_DIR}/${PRODUCT_NAME}.xcarchive" PROVISIONING_PROFILE="${PROVISION_PROFILE}" 
+0

在项目编辑器中添加配置文件修复抛出此错误的问题。我为不同的客户提供了不同的配置文件,因此我想在下一步中替换此配置文件。 -exportProvisioningProfile是否在下一步中工作并替换默认配置文件? – Gaurav

+0

感谢您澄清@Guarav!我已经用另一个选项编辑了我的答案。让我知道这是否有效。 –

+0

归档之前还有一个步骤,我没有在我的问题中添加 xcodebuild -workspace project.xcworkspace -configuration调试-scheme发布 - 一些干净的构建目标通用/平台= iOS 如果我添加PROVISIONING_PROFILE =“$ {PROVISION_PROFILE }“在这个命令然后存档失败。 在什么时候Xcode需要这些提供资金?在建造时间还是归档时间或签约时间? – Gaurav

相关问题