Xcodebuild ExportArchive: "AppStore Profile" 不是"iOS App Development"配置文件



我正在尝试为TestFlight版本构建和导出IPA。我正在Azure DevOps托管的Mac代理上运行构建管道,因此无法使用自动签名。(这是一个Flutter应用程序,但我不确定它是否与我遇到的特定问题有关(这是我在构建步骤中发生的事情:

  1. 我安装";"iPhone分发";证书和";AppStore配置文件";在构建机器上。("AppStore配置文件"是使用苹果开发者门户中的"iPhone分发"证书生成的(
  2. 运行Flutter版本构建,以便生成本机xcode构建所需的xcodeproject资源
  3. 运行";xcodebuild档案";xcworkspace上的命令;project.pbxproj":
CODE_SIGN_IDENTITY= "iPhone Distribution: XXXXX PTY LTD (XXXXXXXXXX)";
PROVISIONING_PROFILE_SPECIFIER = "AppStore Profile";

步骤3使用** ARCHIVE SUCCEEDED **成功

  1. 运行;xcodebuild-exportArchive";用"-exportOptionsPlist XcodeTaskExportOptions.plist"。以下是";XcodeTaskExportOptions.plist":
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>signingStyle</key>
<string>manual</string>
<key>teamID</key>
<string>XXXXXXXX</string>
<key>signingCertificate</key>
<string>iPhone Distribution: XXXXX PTY LTD (XXXXXXXXXX)</string>
<key>provisioningProfiles</key>
<dict>
<key>com.myproj.app</key>
<string>AppStore Profile</string>
<key>method</key>
<string>app-store</string>
</dict>
</dict>
</plist>

步骤4失败,出现以下错误:

...Error Domain=IDEProfileQualificationErrorDomain Code=3
"Provisioning profile "AppStore Profile" is not an "iOS App Development" profile."
UserInfo={IDEProfileQualification...

出于某种原因,它在抱怨我的";AppStore配置文件";不是";开发";轮廓显然,我正试图为TestFlight版本创建一个AppStore IPA,所以我不想使用任何";开发";证书或配置文件。我不明白我在这里做错了什么。感谢您的帮助。谢谢

好吧,我发现了错误。这是由于我在XcodeTaskExportOptions.list中使用了错误的格式;方法";内部";provisioningProfiles";。应该将其移动到根级别。

修正后的plist:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>signingStyle</key>
<string>manual</string>
<key>method</key>
<string>app-store</string>
<key>teamID</key>
<string>XXXXXXXX</string>
<key>signingCertificate</key>
<string>iPhone Distribution: XXXXX PTY LTD (XXXXXXXXXX)</string>
<key>provisioningProfiles</key>
<dict>
<key>com.myproj.app</key>
<string>AppStore Profile</string>
</dict>
</dict>
</plist>

最新更新