【发布时间】:2017-04-03 22:36:45
【问题描述】:
在将配置推送到我们的 CI 构建之前,我在我的机器上安装了一个本地版本的 Jenkins,一个带有 El Capitan 的 Macbook Pro,用于开发和调试目的。
最近,我认为自从升级到 Xcode 8 后,我们开始收到这个超时错误
iOSSimulator: 等待模拟器启动 120 秒超时,当前状态为 1。
测试的命令很简单xcodebuild,
xcodebuild clean test -scheme UnitTests -destination OS=9.3,name='iPhone 6' -sdk iphonesimulator -configuration Release ONLY_ACTIVE_ARCH=YES GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=YES GCC_GENERATE_TEST_COVERAGE_FILES=YES -enableCodeCoverage=YES
但由于某种原因,最近开始出现此错误,这确实影响了能够运行此环境的本地版本。
【问题讨论】:
-
该特定错误消息的潜在原因有很多。 Xcode 的核心是启动 Simulator.app,等待分布式通知,然后发送分布式通知,然后等待来自 CoreSimulator.framework 的 XPC 消息。此错误消息意味着它要么从未收到该 distnote,要么从未收到来自 CoreSimulatorService 的消息。如果您可以使用 sysdiagnose (sudo sysdiagnose -q) 并使用它和 ~seaders/Library/Logs/CoreSimulator 归档雷达,我很乐意看看。
-
请注意,Xcode 8.2 进行了一些修复,以使 CI 更顺畅地解决此类问题。我们花了一些时间对模拟器中 CI 测试结果不可靠的一些原因进行分类和修复(包括对错误的真正修复以及为其他问题添加解决方法)。请注意,有一个问题(构建期间 ibtool 挂起)是 El Cap 中的一个内核错误,需要将主机操作系统升级到 Sierra 才能解决。
-
嗨@JeremyHuddlestonSequoia,非常感谢您的回复,我们目前正在将我们的 CI 流程重新设计为更加分布式的方法,如果我们再次遇到这种情况,我肯定会得到一个系统诊断并归档一个雷达与日志。
标签: xcode jenkins ios-simulator xcode8 xcodebuild