• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

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

[复制链接]
菜鸟教程小白 发表于 2022-12-13 04:57:01 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

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

我在 Azure Pipelines 中使用以下内容:使用 Xcode 构建代理托管的 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

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

在签名期间,似乎没有一个目标可以找到他们的配置文件(使用“手动”和“自动”分配时)。

这是日志中运行的内容:

[command]/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=Manual 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但它已经关闭了两年多。



Best Answer-推荐答案


以下是我们如何构建具有多个配置文件以在 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/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap