我一直在尝试使用xcodebuild命令从命令行(在Mac机器上(构建iOS应用程序。
这是我用来导出档案的命令:
xcodebuild -project "Path/BuildOutput/XCode/Unity-iPhone.xcodeproj" -scheme "Unity-iPhone" archive -archivePath "Path/BuildOutput/XCode/Archive.xcarchive" -destination "generic/platform=iOS" -configuration Release PROVISIONING_PROFILE="xxxxxxxx-yyyyyyyy"
配置文件";xxxxxxxx-yyyy-yyyy";在我的Apple Developer网站上创建为";"特设";类型配置文件,并且它使用具有类型"的证书;"分布";,其在创建时显示为";Apple Distribution";
我得到以下错误:
error: No signing certificate "iOS Development" found: No "iOS Development" signing certificate matching team ID "XXXXXXXXXX" with a private key was found. (in target 'Unity-iPhone' from project 'Unity-iPhone')
当我使用类型为";"发展";并且相应的证书也是";iOS开发;类型似乎尽管我指定了一个配置文件;"特设";类型,xcodebuild仍然试图找到对应的";iOS开发;类型证书,而实际证书类型不匹配。
";Apple Distribution";证书在我转到XCode Preference时正确显示;管理证书";
我被困在这一点上,不知道该怎么办。任何帮助都将不胜感激。
我在Xcode 13中遇到了同样的问题。Xcode似乎混淆了配置文件/证书。
在IDE中,我注意到我可以通过重新选择每个配置的配置文件(在我的情况下是dev/QA/prod(来解决这个问题。我必须为每个配置选择错误的配置文件,然后选择正确的配置文件。我会看到错误消失。xcodebuild成功了。
为了在不干扰Xcode的情况下进行修复,我添加了CODE_SIGN_IDENTITY=";"iPhone分发";xcodebuild 选项
在您的情况下:
xcodebuild -project "Path/BuildOutput/XCode/Unity-iPhone.xcodeproj" -scheme "Unity-iPhone" archive -archivePath "Path/BuildOutput/XCode/Archive.xcarchive" -destination "generic/platform=iOS" -configuration Release PROVISIONING_PROFILE="xxxxxxxx-yyyyyyyy" CODE_SIGN_IDENTITY="iPhone Distribution"