我非常迷失,无法找到有关此事的大量 Material 。
我正在为一个 iOS 应用程序创建一个 CI/CD 管道,该管道有两个配置文件,一个用于主应用程序,另一个用于小部件。我正在安装两个配置文件,一个接一个,如下所示:
- task: InstallAppleProvisioningProfile@1
inputs:
provisioningProfileLocation: 'secureFiles'
provProfileSecureFile: '$(provisioningProfile)'
removeProfile: true
displayName: "Install Main Provisioning Profile"
- task: InstallAppleProvisioningProfile@1
inputs:
provisioningProfileLocation: 'secureFiles'
provProfileSecureFile: '$(provisioningProfileWidgets)'
removeProfile: true
displayName: "Install Widget Provisioning Profile"
但是当我运行 Xcode 任务时,我失败并出现错误:
error: No signing certificate "iOS Development" found: No "iOS Development" signing certificate matching team ID "[team id]" with a private key was found.
我通过一个 plist 分配配置文件,如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>provisioningProfiles</key>
<dict>
<key>[main app]</key>
<string>[uuid]/string>
<key>[widgets]</key>
<string>[uuid]</string>
</dict>
<key>signingCertificate</key>
<string>iOS Distribution</string>
<key>signingStyle</key>
<string>manual</string>
<key>method</key>
<string>app-store</string>
<key>teamID</key>
<string>[team id]</string>
</dict>
</plist>
我的 Xcode 任务如下所示:
- task: Xcode@5
inputs:
actions: '-allowProvisioningUpdates clean build'
scheme: '$(scheme)'
sdk: '$(sdk)'
configuration: '$(configuration)'
xcWorkspacePath: '$(workspace)'
xcodeVersion: 'default'
packageApp: true
signingOption: 'manual'
exportOptions: 'plist'
exportOptionsPlist: '$(devPlist)'
displayName: "Build and Sign"
如果我将签名选项更改为“自动”,我会收到上述错误和其他错误,例如:
No profiles for '*****' were found: Xcode couldn't find any iOS App Development provisioning profiles matching '******'.
error: There are no accounts registered with Xcode. Add your developer account to Xcode
我已经研究了几天了,但每个教程似乎都只是使用一个配置文件,我真的很困惑下一步该做什么,所以任何帮助将不胜感激。
这是我一直在尝试尽可能遵循的教程,https://damienaicheh.github.io/ios/azure/devops/2019/12/05/build-sign-your-ios-application-using-azure-devops-en.html ,这就是我从 Azure Devops Pipelines - Xcode project with multiple provisioning profiles fails archive and sign 得到 plist 想法的地方。 .
谢谢😊
最佳答案
我在互联网上搜索了几天,没有任何结果。
经过一周的调查,我发现我的案例中的问题与我的项目中的配置有关: 我需要在应用程序和扩展的build设置中将签名设置为 Apple Distribution for Release 配置
第二个想法与管道配置有关。
我做的和这个人一模一样How to create plist file with profiles推荐,但对我来说“签名样式”仅适用于“项目默认值”:how to setup Xcode task
注意:正确配置导出选项 plist 文件非常重要。
我希望它能有所帮助,让人们的生活更轻松。
关于ios - 适用于 iOS 应用程序的 Azure DevOps 两个配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66828140/