gpt4 book ai didi

xcode - Azure Devops Pipelines - 具有多个配置文件的 Xcode 项目无法存档和签名

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:20:42 25 4
gpt4 key购买 nike

我是 DevOps 的新手,所以如果我错过了一些基本的东西,请放轻松 :)

我在 Azure Pipelines 中使用以下内容:带有 Xcode Build Agent 的托管 MacOS(Xcode 版本 5.142.0)

我刚刚开始尝试为使用多个配置文件的基于 Xcode 的项目设置管道。在我的场景中,我的应用程序中有以下配置文件:

  • 意图
  • ItentsUI
  • 小工具
  • 应用

我已按照此处的说明设置证书和配置文件(尽管我的项目使用自动签名): https://learn.microsoft.com/en-us/azure/devops/pipelines/apps/mobile/app-signing?view=vsts&tabs=apple-install-during-build

这些正在正确安装到托管构建代理(没有错误)并且构建在签名之前完美进行。

在签名过程中,似乎没有一个目标可以找到他们的配置文件(无论是使用“手动”分配还是“自动”分配)。

这是在日志中运行的内容:

[命令]/usr/bin/xcodebuild -workspace/Users/vsts/agent/2.142.1/work/1/s/*MYAPP**.xcworkspace -scheme **MYAPP** archive -sdk iphoneos -configuration Release -archivePath/Users/vsts/agent/2.142.1/work/1/s/**MYAPP** CODE_SIGN_STYLE=手动 PROVISIONING_PROFILE= PROVISIONING_PROFILE_SPECIFIER= |/usr/local/bin/xcpretty --no-color

然后在归档时,每个方案都会发生以下情况:

错误:“xxx Today Widget”需要具有推送通知和应用程序组功能的配置文件。在项目编辑器中为“发布”构建配置选择配置文件。 (在目标“xxx Today Widget”中)

几个问题:

  1. 有任何人可以指点我的更新指南吗?这似乎是一个常见的用例,我显然遗漏了一些东西。

  2. 或者,在同一构建中归档和签署多个方案时,是否有一种方法可以强制将哪个配置文件用于哪个方案?

  3. 自动签名是管道中的一个选项吗?

为了完整起见,我在这里看到了一个看起来有点类似的问题:https://github.com/Microsoft/azure-pipelines-tasks/issues/964但它已经关闭了两年多。

最佳答案

以下是我们如何构建具有多个配置文件以在 Azure DevOps 中运行的 iOS 应用。

  • 确保您拥有 Apple App Store Azure DevOps extension由安装在您帐户中的 Microsoft 编写。
  • 使用多个 Install Apple Provisioning Profile 安装所有需要的配置文件任务
  • 添加Xcode build task并使用您的工作区/项目设置对其进行配置
  • 将“签名样式”设置为“自动签名”,并在“签名和配置”部分下的“团队 ID”字段中提供您的团队 ID
  • 创建一个 .plist 文件,像下面这样配置它,并将它放在某个地方(您的代码存储库、安全文件等)。这个例子是一个 watch 应用程序,但可以是任何需要多个配置文件的场景。您可以通过在文本编辑器中打开配置文件并查找“UUID”键来找到配置文件的 UUID。
    <?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>YOUR_BUNDLE_ID.watchkitapp.watchkitextension</key>
<string>UUID_OF_ASSOCIATED_PROVISIONING_PROFILE</string>
<key>YOUR_BUNDLE_ID.watchkitapp</key>
<string>UUID_OF_ASSOCIATED_PROVISIONING_PROFILE</string>
<key>YOUR_BUNDLE_ID</key>
<string>UUID_OF_ASSOCIATED_PROVISIONING_PROFILE</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>YOUR_TEAM_ID</string>
</dict>
</plist>
  • 在“包选项”部分下,在“导出选项”字段中指定“Plist”,并提供您在“导出选项 plist”字段中创建的 .plist 的路径

关于xcode - Azure Devops Pipelines - 具有多个配置文件的 Xcode 项目无法存档和签名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53225705/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com