ios - 适用于 iOS 应用程序的 Azure DevOps 两个配置文件

标签 ios xcode azure azure-devops continuous-integration

我非常迷失,无法找到有关此事的大量 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 配置

示例:Manual signing

第二个想法与管道配置有关。

我做的和这个人一模一样How to create plist file with profiles推荐,但对我来说“签名样式”仅适用于“项​​目默认值”:how to setup Xcode task

注意:正确配置导出选项 plist 文件非常重要。

我希望它能有所帮助,让人们的生活更轻松。

关于ios - 适用于 iOS 应用程序的 Azure DevOps 两个配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66828140/

相关文章:

ios - 分离 UIAppearence 代码

ios - 如何将 Cordova 插件添加到带有嵌入式 Cordova WebView 的 Xcode 项目中?

c++ - 在 C++ Xcode 中链接 Armadillo 库

.net - 远程桌面设置看不到导入的证书

javascript - 如何在javascript中将原始数据转换为音频

ios - 上传expo应用版本到应用商店

ios - 以编程方式在 swift View 之间创建 segue

ios - 将 App 设置为在 iPhone 5+ 上运行

xcode - Xcode beta 7.3 (7D162j) 中的 UIFont 错误?

python - azcopy:由于错误而无法解析用户输入:当前不支持推断的源/目标组合