【发布时间】:2016-10-21 16:29:12
【问题描述】:
XCTests 失败并显示以下消息:*** Canceling tests due to timeout in Waiting for test process to check in... 这是最近几天才开始出现的。我使用的是 Xcode 7.3.1,iOS 9.3.2 在 iPhone 6 上运行。我的应用程序主要是用 Swift 编写的。
我看过一些类似的帖子:
- Unable to run XCTests on iOS device
- iOS tests will not run on simulator when using Jenkins through JNLP
那些其他帖子谈到这个问题是由代码签名引起的。代码签名似乎不是我的问题——我查看了 KeyChain Access 实用程序,没有看到任何相关的过期证书。此外,到目前为止(非常暂时)解决我的问题是重新启动我的 iPhone。 (不幸的是,该修复并没有持续很长时间——也许运行了几次 XCtests,问题又出现了)。我没有运行 Jenkins,只是运行 XCTests。
我已尝试重新启动 Xcode 并从 DerivedData 文件夹中删除所有文件/文件夹,但这些都不能解决问题。
我确实只是安装了 Xcode8(第一个 beta 版本)。但除了启动过一次或两次之外,我一般不使用它。这个问题是在刚刚安装之后出现的,这似乎很巧合。
2016 年 6 月 25 日更新
我已经稍微缩小了这个问题的范围。超时问题同时出现其他几种症状:
- 直接从 XCTest 文件中的
print语句进行控制台日志记录将停止。 - 定时器失败——这实际上是问题的根源。我的测试涉及首先等待发生的一些服务器交互。但是等待使用一个从不执行其回调的 NSTimer。
- 断点停止工作。
值得注意的是,我正在手动运行这些 XCTest。也就是说,我分别运行每个测试,因此每个测试都涉及构建。
此外,到目前为止,我已经测试了以下内容:
- 重新启动 Xcode(没有帮助)
- 重新启动 Mac OS X(没有帮助)
- 删除派生数据内容(没有帮助)
- 重新启动 iPhone 会有所帮助,但只能再次允许一些 Xcode 测试运行。
- 尝试在 iPhone 上使用 wifi 与热点运行(没有问题)
- TODO:使用模拟器运行
- 这可能是电缆或 USB 端口问题吗?更换连接设备的电缆也无济于事。
- 删除应用并重新安装/重建没有帮助。
- 在不同的硬件上试过(iPad Air 运行 iOS 9.3.2)。同样的问题。
我的配置是:iOS 9.3.2、Xcode 7.3.1、Mac OS X 10.11.5 (15F34)。
【问题讨论】:
标签: ios iphone xcode swift xctest