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

blg*_*101 4 xcode xcodebuild ios

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

构建命令

xcodebuild archive -project sample.xcodeproj -scheme "sample" -archivePath $PWD/archive/sample.xcarchive -destination generic/platform=iOS -UseModernBuildSystem=NO
Run Code Online (Sandbox Code Playgroud)

导出命令

xcodebuild -exportArchive -archivePath $PWD/archive/sample.xcarchive -exportOptionsPlist ./ExportOptions.plist -exportPath $PWD/build -UseModernBuildSystem=NO
Run Code Online (Sandbox Code Playgroud)

以下是错误

错误域 = IDEProvisioningErrorDomain 代码 = 9 “sample.app”需要配置文件。” UserInfo={IDEDistributionIssueSeverity=3, NSLocalizedDescription="sample.app" 需要配置文件。, NSLocalizedRecoverySuggestion=将配置文件添加到导出选项属性列表中的“provisioningProfiles”字典中。}

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

根据谷歌和 StackOverflow 上的其他建议,我尝试了以下方法

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

有人能帮我解决这个问题吗?

blg*_*101 5

最终起作用的是在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>
Run Code Online (Sandbox Code Playgroud)