gpt4 book ai didi

ios - Azure Devops Pipeline MacOS VM 镜像似乎没有任何 iOS 模拟器

转载 作者:行者123 更新时间:2023-12-03 03:48:59 26 4
gpt4 key购买 nike

我正在尝试创建一个 CI 管道来运行我的单元测试。在这个堆栈溢出线程的帮助下,Is there any way to run unit and ui tests for azure devops with iOS? ,我同样创建了我的 azure-pipelines.yml

# Starter pipeline
# Start with a minimal pipeline that you can customize to build and deploy your code.
# Add steps that build, run tests, deploy, and more:
# https://aka.ms/yaml

trigger:
- master

pool:
vmImage: 'macOS-10.15'

steps:
- script: echo Hello, world!
displayName: 'Run a one-line script'
- task: Xcode@5
displayName: 'Running tests'
inputs:
actions: 'test'
sdk: 'iphonesimulator'
#configuration: 'Debug'
#xcWorkspacePath: 'TeamDrawFramework/TeamDrawFramework.xcodeproj/project.xcworkspace'
xcWorkspacePath: 'TeamDrawFramework/TeamDrawFramework.xcodeproj'
scheme: 'TeamDrawFrameworkTests'
xcodeVersion: 'default'
useXcpretty: true
publishJUnitResults: true
destinationPlatformOption: 'iOS' # Optional. Options: default, iOS, tvOS, macOS, custom
destinationPlatform: 'iOS Simulator'# Optional
destinationTypeOption: 'simulators' # Optional. Options: simulators, devices
destinationSimulators: 'iPhone 8' # Optional. Default value: iPhone8 for Xcode 11 and iPhone 7 for other iOS projects; Apple TV for tvOS projects.
- task: PublishTestResults@2
displayName: 'Publishing test results'
inputs:
testResultsFormat: 'JUnit'
testResultsFiles: '**/junit.xml'
mergeTestResults: true
failTaskOnFailedTests: true

但是每当我的管道运行时,我都会收到错误消息:

xcodebuild: error: Unable to find a destination matching the provided destination specifier:
{ platform:iOS Simulator, OS:latest, name:iPhone 8 }

Available destinations for the "TeamDrawFrameworkTests" scheme:
{ platform:macOS, arch:x86_64, variant:Mac Catalyst, id:4203018E-580F-C1B5-9525-B745CECA79EB }

Ineligible destinations for the "TeamDrawFrameworkTests" scheme:
{ platform:iOS, id:dvtdevice-DVTiPhonePlaceholder-iphoneos:placeholder, name:Any iOS Device }
{ platform:iOS Simulator, id:dvtdevice-DVTiOSDeviceSimulatorPlaceholder-iphonesimulator:placeholder, name:Any iOS Simulator Device }
{ platform:macOS, variant:Mac Catalyst, name:Any Mac }
##[error]Error: /usr/bin/xcodebuild failed with return code: 70

我能够通过这个命令从命令行很好地运行我的测试,该命令基本上设置了相同的标志:

xcodebuild -project TeamDrawFramework/TeamDrawFramework.xcodeproj -scheme TeamDrawFrameworkTests -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 12,OS=14.5' test

我不确定到底是什么问题,但由于错误消息中的可用目标非常稀疏,我认为这是 Azure VM 的问题。

TLDR:为什么是唯一可用的目的地

    { platform:macOS, arch:x86_64, variant:Mac Catalyst, id:4203018E-580F-C1B5-9525-B745CECA79EB }

什么时候应该有可用的 iOS 模拟器列表?

最佳答案

根据您的 Yaml 示例,您使用的是 macos 10.15。

此代理中提供了 iOS 模拟器。

可以引用这个Agent configuration doc ,然后就可以获得所有列表。

xcodebuild: error: Unable to find a destination matching the provided destination specifier:

macos 代理默认使用 Xcode 12.4。

因此您可以尝试在 Xcode 任务中定义操作系统版本(14.4)。

例如:

- task: Xcode@5
displayName: 'Running tests'
inputs:
actions: 'test'
sdk: 'iphonesimulator'
#configuration: 'Debug'
#xcWorkspacePath: 'XXX'
xcWorkspacePath: 'XXX'
scheme: 'XXX'
xcodeVersion: 'default'
useXcpretty: true
publishJUnitResults: true
destinationPlatformOption: 'iOS' # Optional. Options: default, iOS, tvOS, macOS, custom
destinationPlatform: 'iOS Simulator'# Optional
destinationTypeOption: 'simulators' # Optional. Options: simulators, devices
destinationSimulators: 'iPhone 8,OS=14.4'

关于ios - Azure Devops Pipeline MacOS VM 镜像似乎没有任何 iOS 模拟器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67712184/

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