我们环境中的一些构建失败,因为构建使用的是 13.X iOS/tvOS 模拟器,并且由于某种原因会导致问题。我对我们的 Fastfile 进行了更改,以便构建使用 14.2 模拟器,现在构建成功了。
这是我对快速文件所做的更改。
首先,我声明了一个字典:
XCODE_DESTINATION = {
iphoneos: "generic/platform=iOS",
iphonesimulator: "platform=iOS Simulator,OS=14.2,name=iPhone 11 Pro Max",
appletvos: "generic/platform=tvOS",
appletvsimulator: "platform=tvOS Simulator,OS=14.2,name=Apple TV 4K"
}
然后,在 iOS 和 tvOS 的 run_tests 通道中,我引用了 iphonesimulator 和 appletvsimulator:
run_tests(
destination: XCODE_DESTINATION[:iphonesimulator],
workspace: WORKSPACE_NAME,
scheme: options[:scheme_tests]
)
run_tests(
destination: XCODE_DESTINATION[:appletvsimulator],
workspace: WORKSPACE_NAME,
scheme: options[:scheme_tests]
)
即使这个解决方案解决了这个问题,我真的不希望 XCODE_DESTINATION 字典必须专门引用操作系统版本和特定设备。
有没有一种方法可以配置这个 Fastfile,以便它仅在 XCode 中存在 14.X 模拟器时才运行测试,而不必在字典中明确指出?
谢谢!