【发布时间】:2013-08-10 16:13:45
【问题描述】:
一些背景:
我有一个目标配置为运行 unitTests 的 iOS 应用程序。我正在我的 MacBook 上运行构建自动化工具 jenkins,它会自动构建这个应用程序并运行所有测试(使用命令行 xcodebuild 工具)。
Xcode 4 一切正常。这个构建自动化工具在不同的用户下运行并运行所有这些测试。
我最近切换到 Xcode 5,但它开始失败,因为它无法启动模拟器。
问题
我有一个配置为运行测试(逻辑测试)的方案 UnitTests。 A 我使用以下两种方法之一运行这些测试:
Xcode 中的命令 U
或命令行“/usr/bin/xcodebuild -scheme UnitTests -sdk iphonesimulator -configuration Release clean build TEST_AFTER_BUILD=YES”
在这两种情况下,它都会尝试启动模拟器。但是,据我了解,它不需要它。无论如何,它运行在顶级 x86 上,看起来模拟器上没有安装任何应用程序。
有没有办法摆脱这个讨厌的模拟器启动(因为它破坏了我的构建自动化)?
更新 1
似乎找到了非常相似的问题,但无法正常工作: Run logic tests in Xcode 4 without launching the simulator
更新 2
我发现了非常相关和有趣的问题/答案:Apple CI / Xcode Service and Jenkins
【问题讨论】:
-
这个问题也可能有帮助。对于 iOS 应用程序,这些步骤应该几乎相同。 stackoverflow.com/questions/19219706/…
-
@CleverError:谢谢。我会看的。
-
为什么不想运行模拟器?
-
@quellish:因为从 Xcode 5 开始,如果你在不同的用户(没有 UI 会话)下运行它是一个问题
-
@VictorRonin ,在早期版本的 Xcode 上也是如此。然而,Xcode 5 确实支持在无头模式下运行这些场景。 Xcode Server 以这种方式工作。在早期版本的 Xcode 中,可以将模拟器作为守护程序用户运行,但很难正确设置。要在测试中使用 iPhone 特定功能(如 UIKit),您需要模拟器。