ios – Xcode服务器CI Bot测试会话退出(-1)

尝试在 XcodeServer上针对模拟器设备运行测试时,我收到错误.测试有时会传递给一个设备,而对另一个设备进行故障转移,但是失败的设备并不总是相同的.这可能发生在单个会话中.

日志文件错误如下:

2015-03-23 10:44:11.029 Initializing test infrastructure.
2015-03-23 10:44:11.029 Writing testing status log to /Library/Developer/XcodeServer/Integrations/Integration-7e6e54f21a2fd25cddc9df0436cb3688/Session-2015-03-23_10:44:10-tH1BD4.log.
2015-03-23 10:44:28.676 Launch session started,setting a disallow-finish-token on the run operation.
2015-03-23 10:44:30.352 Adding console adaptor for test process.
2015-03-23 10:44:39.566 Creating the connection.
2015-03-23 10:44:39.567 Listening for proxy connection request from the test bundle (all platforms)
2015-03-23 10:44:39.567 Resuming the connection.
2015-03-23 10:44:39.567 Test connection requires daemon assistance.
2015-03-23 10:44:39.568 Checking test manager availability...,will wait up to 120s
2015-03-23 10:45:05.253 testmanagerd handled session request.
2015-03-23 10:45:05.254 Waiting for test process to check in...,will wait up to 120s
2015-03-23 10:46:47.578 Test operation failure: Test session exited(-1) without checking in.
2015-03-23 10:46:47.645 _finishWithError:Error Domain=IDEUnitTestsOperationsObserverErrorDomain Code=3 "Test session exited(-1) without checking in." UserInfo=0x7f8be43e40c0 {NSLocalizedDescription=Test session exited(-1) without checking in.} didCancel: 1

任何想法都会很有帮助.

解决方法

模拟器需要运行用户GUI上下文.如果服务器是从/ Library / launchdaemons启动的,那么它在系统(根)上下文中运行,并且没有GUI上下文.如果使用Atlassian Bamboo as well as Jenkins for CI,这是一个问题.Facebook开发者有 also encountered this problem with xctool.

您可能需要从用户上下文启动XcodeServer,即在〜/ Library / LaunchAgents中创建一个plist文件,并让该用户持续登录.我认为Apple会在安装过程中解决问题.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...