Azure Devops管道-具有多个配置文件的Xcode项目无法存档和签名
我是DevOps的新手,所以如果我错过了一些基本的东西,请对我宽容一些:) 我在Azure管道中使用以下内容:带有Xcode构建代理的托管MacOS(Xcode版本5.142.0) 我刚刚开始尝试为一个基于Xcode的项目建立一个管道,该项目使用多个配置文件。在我的场景中,我的应用程序中有以下配置文件:Azure Devops管道-具有多个配置文件的Xcode项目无法存档和签名,xcode,azure-devops,azure-pipelines,Xcode,Azure Devops,Azure Pipelines,我是DevOps的新手,所以如果我错过了一些基本的东西,请对我宽容一些:) 我在Azure管道中使用以下内容:带有Xcode构建代理的托管MacOS(Xcode版本5.142.0) 我刚刚开始尝试为一个基于Xcode的项目建立一个管道,该项目使用多个配置文件。在我的场景中,我的应用程序中有以下配置文件: 意图 ItentsUI 小部件 应用程序 我已经按照此处设置证书和配置文件的说明进行了操作(尽管我的项目使用自动签名): 这些都已正确安装到托管的生成代理(无错误),并且在签名之前,生成将
- 意图
- ItentsUI
- 小部件
- 应用程序
[命令]/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\u STYLE=手动配置文件=配置文件\配置文件\说明符=|/usr/local/bin/xcbreatty--无颜色
随后,当涉及到归档时,每个方案都会出现以下情况:有几个问题:错误:“xxx今日小部件”需要具有推送通知和应用程序组功能的配置文件。在项目编辑器中为“发布”生成配置选择一个配置文件。(在目标“xxx今日小部件”中)
为了完整起见,我在这里看到了类似的问题:但它已经关闭两年多了。仔细检查后发现,我使用的开发证书是错误的(我的Mac上有一些)。我把它换成了合适的版本,问题就消失了 我现在可以成功地构建、存档和签名 希望这对某人有所帮助
Andrew以下是我们如何构建一个具有多个配置文件的iOS应用程序,以便在Azure DevOps中工作
- 确保您的帐户中安装了Microsoft编写的
- 使用多个任务安装所需的所有资源调配配置文件
- 添加并使用您的工作区/项目设置对其进行配置
- 将“签名样式”设置为“自动签名”,并在“签名和资源调配”部分的“团队ID”字段中提供您的团队ID
- 创建一个.plist文件,将其配置为如下所示,并将其放置在某个位置(代码存储库、安全文件等)。此示例是一个watch应用程序,但可能是需要多个配置文件的任何场景。您可以通过在文本编辑器中打开配置文件并查找“UUID”键来找到该配置文件的UUID
供应文件
您的\u BUNDLE\u ID.watchkitapp.watchkitpension
UUID\u的\u关联的\u配置\u配置文件
您的\u BUNDLE\u ID.watchkitapp
UUID\u的\u关联的\u配置\u配置文件
您的\u BUNDLE\u ID
UUID\u的\u关联的\u配置\u配置文件
签约证书
iOS分发
签约风格
手册
方法
应用商店
teamID
您的团队ID
- 在“包选项”部分下,在“导出选项”字段中指定“Plist”,并提供在“导出选项Plist”字段中创建的.Plist的路径
.xcworkspace
文件,而不是让它默认为.xcodeproj/Project.xcworkspace
。这件事困扰了我两天的测试
例如:
- task: Xcode@5
inputs:
sdk: '$(sdk)'
scheme: '$(scheme)'
configuration: '$(configuration)'
xcWorkspacePath: '**/<Project Name>.xcworkspace' # Make sure this line is here
xcodeVersion: 'default' # Options: default, 10, 9, 8, specifyPath
exportPath: '$(agent.buildDirectory)/output/$(sdk)/$(configuration)'
-任务:Xcode@5
投入:
sdk:“$(sdk)”
方案:“$(方案)”
配置:“$(配置)”
xcWorkspacePath:“**/.xcworkspace”#确保此行在此处
xcodeVersion:'default'#选项:default、10、9、8、specifyPath
exportPath:“$(agent.buildDirectory)/output/$(sdk)/$(配置)”
嗨,安德鲁,我也遇到了类似的问题,我想知道是否可以获得有关您的设置的更多信息。您只有一个Xcode任务吗?对于Xcode任务,您是否将签名样式设置为自动或手动?对于您需要的每个配置文件,您是否都有一个安装Apple provisioning profile任务(在您的案例中可能有四个),或者您只是在build agent上手动安装了所有配置文件?任何帮助都将不胜感激。@cmour我有一个Xcode任务,签名样式设置为“项目默认值”。我需要安装应用程序使用的资源调配配置文件。是(在默认mac build agent上使用安全存储的临时密钥链)。谢谢@Andrew Lombard。您是使用Azure Devops中的“安装Apple资源调配配置文件”任务安装资源调配配置文件,还是仅在构建计算机上手动安装配置文件?我正在Azure Devops中使用此任务,但构建无法成功找到配置文件。@cmour-我正在使用“安装Apple配置文件”步骤,但您需要在“安全文件”中设置配置文件,以便管道可以在构建过程中获取它们。如果你需要更多的信息,请告诉我。我没法让它工作。我得到的结果是:“未找到“”的配置文件:Xcode找不到任何iOS应用程序开发配置文件。”
- task: Xcode@5
inputs:
sdk: '$(sdk)'
scheme: '$(scheme)'
configuration: '$(configuration)'
xcWorkspacePath: '**/<Project Name>.xcworkspace' # Make sure this line is here
xcodeVersion: 'default' # Options: default, 10, 9, 8, specifyPath
exportPath: '$(agent.buildDirectory)/output/$(sdk)/$(configuration)'