使用 xcodebuild 归档时缺少配置文件错误

Missing Provisioning Profile error when archiving using xcodebuild

为了自动化我的应用程序构建过程,我正在尝试通过命令行构建我的 iOS 应用程序

构建命令

xcodebuild archive -project sample.xcodeproj -scheme "sample" -archivePath $PWD/archive/sample.xcarchive -destination generic/platform=iOS -UseModernBuildSystem=NO

导出命令

xcodebuild -exportArchive -archivePath $PWD/archive/sample.xcarchive -exportOptionsPlist ./ExportOptions.plist -exportPath $PWD/build -UseModernBuildSystem=NO

错误如下

Error Domain=IDEProvisioningErrorDomain Code=9 ""sample.app" requires a provisioning profile." UserInfo={IDEDistributionIssueSeverity=3, NSLocalizedDescription="sample.app" requires a provisioning profile., NSLocalizedRecoverySuggestion=Add a profile to the "provisioningProfiles" dictionary in your Export Options property list.}

请注意,来自 Xcode 的存档工作正常。 存档文件夹 archive/sample.xcarchive/Info.plist 中的 Info.plist 文件不包含配置文件字典。

根据 google 和 Whosebug 上的其他建议,我尝试了以下

  1. 将构建设置更改为旧版构建
  2. 已从 ~/Library/MobileDevice
  3. 中删除配置文件文件夹
  4. 已升级 Xcode 至最新版本(当前为 11.4)
  5. 在 /Library/MobileDevice
  6. 中创造了 ~/Library/MobileDevice 的温柔
  7. 在开发者帐户中重新创建配置文件。

谁能帮我解决这个问题?

升级到 XCode 11.3 后我遇到了同样的错误。它与新 Apple Development and Apple Distribution certificate types.

有关

编辑配置文件并 select 在 Xcode 11 中使用。 使用这个新的配置文件来修复这个错误。

最终起作用的是在 exportOptions.plist 文件中提及 App id 时删除通配符。

<?xml version="1.0" encoding="UTF-8"?>
<dict>
    <key>provisioningProfiles</key>
    <dict>
        <key>APP_ID_WITHOUT_WILDCARD_CHAR</key>
        <string>PROVISIOING_PROFILE_NAME_AS_SEEN_BY_XCODE</string>
    </dict>
    <key>method</key>
    <string>app-store</string>
    <key>signingCertificate</key>
    <string>iPhone Distribution</string>
    <key>signingStyle</key>
    <string>manual</string>
    <key>stripSwiftSymbols</key>
    <true/>
    <key>teamID</key>
    <string>TEAM_ID</string>
    <key>uploadSymbols</key>
    <true/>
</dict>
</plist>