xcode 8 xcodebuild从命令行手动签署多个配置文件的代码

时间:2016-12-02 03:13:21

标签: ios objective-c iphone xcode xcodebuild

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

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"需要配置文件。为" Debug"选择配置文件。在项目编辑器中构建配置。 产品类型'应用程序'需要进行代码签名。在SDK' iOS 10.1' 任何人请帮助我。

1 个答案:

答案 0 :(得分: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}"