使用 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 上的其他建议,我尝试了以下
- 将构建设置更改为旧版构建
- 已从 ~/Library/MobileDevice
中删除配置文件文件夹
- 已升级 Xcode 至最新版本(当前为 11.4)
- 在 /Library/MobileDevice
中创造了 ~/Library/MobileDevice 的温柔
- 在开发者帐户中重新创建配置文件。
谁能帮我解决这个问题?
升级到 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>
为了自动化我的应用程序构建过程,我正在尝试通过命令行构建我的 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 上的其他建议,我尝试了以下
- 将构建设置更改为旧版构建
- 已从 ~/Library/MobileDevice 中删除配置文件文件夹
- 已升级 Xcode 至最新版本(当前为 11.4)
- 在 /Library/MobileDevice 中创造了 ~/Library/MobileDevice 的温柔
- 在开发者帐户中重新创建配置文件。
谁能帮我解决这个问题?
升级到 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>