试图让应用程序/逻辑测试通过命令行运行。现在我正在测试 xctool。它在我的开发机器上运行良好,但由于某种原因在我们用作构建服务器的 Mac mini 上开始失败。
事实证明,如果我在终端中通过VNC运行它,它就可以工作。
更新:如果 ssh'ed,它现在可以工作。
现在只有詹金斯失败了。
./xctool.sh -project ~/Downloads/proj/Project.xcodeproj/ -scheme Project -sdk iphonesimulator7.1 clean test
看到这个输出:
[Info] Collecting info for testables... (3822 ms) run-test Tests.octest (iphonesimulator7.1, application-test) [Warning] Tried to install the test host app 'xxx' but failed. (31 ms) [Info] Preparing test environment failed; will retry 2 more times (0 ms) [Info] Stopped any existing iOS simulator jobs to get a fresh simulator. (3 ms) [Info] Reset iOS simulator content and settings. (0 ms) [Warning] Tried to install the test host app 'xxx' but failed. (27 ms) [Info] Preparing test environment failed; will retry 1 more time (0 ms) [Info] Stopped any existing iOS simulator jobs to get a fresh simulator. (2 ms) [Info] Reset iOS simulator content and settings. (0 ms) [Warning] Tried to install the test host app 'xxx' but failed. (24 ms) [Warning] Preparing test environment failed. (0 ms)
测试失败:
Test did not run: Failed to install the test host app 'xxx': Failed for unknown reason.
而在我的开发机器上,我看到 iOS 模拟器弹出,在 mac mini 上我什么也没看到。
这里有什么问题?
如果我尝试在 7.0 上运行:
./xctool.sh -project ~/Downloads/proj/Project.xcodeproj/ -scheme Project -sdk iphonesimulator7.0 clean test
我懂了:
Check dependencies No architectures to compile for (ARCHS=i386 x86_64, VALID_ARCHS=armv6).
在 6.1 上,我收到一堆编译器错误。
查看 mini 的 system.log,我看到一些不寻常的消息在搜索中几乎没有产生:
launchd_sim_trampoline[69113]:指定了伪造的 bootstrap.plist。
com.apple.launchd.peruser.260[80978] (com.apple.iphonesimulator.launchd.5772e154[69113]):退出代码:78
com.apple.launchd.peruser.260[80978] (com.apple.iphonesimulator.launchd.5772e154):节流重生:将在 10 秒后开始
我们观察到与此处列出的类似结果:xctool issue
不幸的是,我们已经尝试过列出的解决方案之一,即向 org.jenkins-ci.plist 添加 SessionCreate 密钥对值,并将该 plist 移动到我们用户的 ~/Library/LaunchAgents 文件夹。
此链接也与我们遇到的类似:xctool issue 2 不幸的是,我们没有使用 tmux,因此该解决方案不适用。