我知道Xcode需要在运行单元测试时启动模拟器。在我的CI构建期间,我运行单元测试。有时模拟器会挂起测试,一旦我关闭模拟器,测试就会完成。
有没有办法测试: 1.如果我们在app委托中处于“测试模式” 2.如果我们可以以编程方式出现,无论是出现还是在x时间之后。
我写了一个退出模拟器的AppleScript ......我想我可以从Xcode启动它。有谁知道如何在方法中启动脚本?
答案 0 :(得分:1)
iOS模拟器是一个mac应用程序,无法从iOS应用程序中解除。
要么使用apple脚本,要么可以在构建脚本中使用命令来执行此操作。
sudo killall "iOS Simulator"
编辑:为了进一步澄清,该脚本也无法从iOS应用程序运行。你必须从你的构建脚本中调用它。
答案 1 :(得分:1)
请在http://bugreport.apple.com提交错误报告,其中包含导致您尝试解决的失败原因的信息。请在当时使用sysdiagnose并包含〜/ Library / Logs / CoreSimulator / * .log
至于以编程方式运行AppleScript,您可以执行以下操作:
NSString *scriptSource = @"tell application ..."
NSAppleScript *script = [[[NSAppleScript alloc] initWithSource:scriptSource] autorelease];
NSError *error = nil;
[script executeAndReturnError:&error];
但是你无法在iOS模拟器中运行的应用程序中使用它,因为它与主机隔离。