Xcode 5:一个方案中的多个测试目标:“模拟器已在使用”

Posted

技术标签:

【中文标题】Xcode 5:一个方案中的多个测试目标:“模拟器已在使用”【英文标题】:Xcode 5: Multiple test targets in one scheme: "Simulator already in use" 【发布时间】:2013-10-09 02:29:58 【问题描述】:

在 Xcode 5 中,我有一个包含多个项目的工作区和一个应该运行各个项目的所有测试目标的方案。当我开始测试时,大约有 3 个测试项目目标通过。到目前为止,一切都很好。但是在第四个测试目标处,我从 Xcode 收到一条错误消息,告诉我模拟器无法启动,因为它已经在使用中。

有没有办法在单个(!)方案中杀死每个测试目标(!)之间的模拟器? 还是有其他解决方案?

编辑:我为此打开了一个 rdar:http://openradar.appspot.com/15153136

谢谢!

【问题讨论】:

我在 Xcode 5 中使用单个测试目标时遇到过这种情况。除非我重新启动,否则它无法再次开始工作。还没找到解决办法。 我可能会建议您通过系统偏好进入活动监视器并杀死 ios 模拟器和 xcode,这样您就不必完全重新启动计算机。 您在哪里可以找到一个好的解决方案? (对于在 Xcode 5 中运行的单位单位) @SanjitSaluja 不,不幸的是还没有:( 【参考方案1】:

每当我尝试使用葫芦运行我的功能测试时,我都会遇到此错误。一种方法可能是在每个构建过程之后运行一个脚本来杀死模拟器。

这个人写了一个 bash 脚本来做这个 http://cdrussell.blogspot.co.uk/2012/04/script-to-kill-iphone-simulator-if.html

可能值得将其作为每个测试目标的构建阶段运行

【讨论】:

谢谢,这是个好主意。唯一的问题是:它只会运行一次!当我运行多个测试目标时,它首先构建所有目标,然后尝试运行所有目标。因此,在构建过程中运行脚本还为时过早。我想不出在测试运行之间运行脚本的方法:( 啊,我明白了,您也许可以尝试实现一个 rake 文件并使用 xcodeBuild 命令行在每个测试目标运行之前执行清理。 ipa build --clean --archive --scheme appTarget --configuration Release --destination destination/archive

以上是关于Xcode 5:一个方案中的多个测试目标:“模拟器已在使用”的主要内容,如果未能解决你的问题,请参考以下文章

Xcode 4.2 中的引导错误 iOS 5.0 模拟器

Xcode 5 中的 iOS 6 模拟器

如何在 Xcode 7 中动态更改单元测试的目标?

XCode UITest:测试运行时模拟器不可见

ios 5 模拟器在 xcode 4.2 中没有响应

XCode 5.0.2 模拟器通讯录为空