如何以编程方式判断仪器是否正在运行

时间:2012-12-11 01:57:24

标签: ios xcode instruments

有没有办法以程序方式告诉应用程序是否在连接了仪器会话的模拟器上运行?

如果没有,在运行UI自动化测试时,在应用程序中做一些特别的事情(例如,跳过用户注册)会是什么?

1 个答案:

答案 0 :(得分:1)

在Xcode中,转到“产品”菜单,然后选择“编辑方案”。在左侧,选择“配置文件”行。在右侧选择Arguments选项卡。关闭“使用运行操作...”复选框。

现在在“启动时传递的参数”下添加一个参数,例如“-profile”。

在您的应用中,您想在某个地方检查此标记,您可以执行以下操作:

NSArray *args = [[NSProcessInfo processInfo] arguments];
if ([args containsObject:@"-profile"]) {
    // app is being profiled
}

此检查按原样在模拟器和真实设备上运行。如果您只想将此代码用于模拟器,而不是在真实设备上进行配置时,请使用以下代码包装代码:

#if TARGET_IPHONE_SIMULATOR
    // simulator-only code here
#endif