有没有办法以编程方式告诉应用程序是否在模拟器上运行并附加了仪器会话?
如果不是,那么在运行 UI 自动化测试时,在应用程序中做一些特殊的事情(例如跳过用户注册)的最佳方法是什么?
有没有办法以编程方式告诉应用程序是否在模拟器上运行并附加了仪器会话?
如果不是,那么在运行 UI 自动化测试时,在应用程序中做一些特殊的事情(例如跳过用户注册)的最佳方法是什么?
在 Xcode 中,转到 Product 菜单并选择 Edit Scheme。在左侧,选择配置文件行。在右侧选择参数选项卡。关闭“使用运行操作...”复选框。
现在在“启动时传递的参数”下添加一个参数,例如“-profile”。
在您的应用程序中,在您想要检查此标志的某个地方,您可以执行以下操作:
NSArray *args = [[NSProcessInfo processInfo] arguments];
if ([args containsObject:@"-profile"]) {
// app is being profiled
}
此检查将按原样在模拟器和真实设备上运行。如果您只想将此代码用于模拟器,而不是在真实设备上进行分析时,请使用以下代码包装代码:
#if TARGET_IPHONE_SIMULATOR
// simulator-only code here
#endif