2010-09-23 38 views
2

我正在开发一个iOS应用程序。我在模拟器中花了很多时间,如果不必切换回Xcode来访问调试器的进/出/结束/继续控制,这将非常有用。有没有办法做到这一点,而没有Xcode作为焦点的应用程序?你如何通过Applescript进/出/通过Xcode调试器?

(我知道的迷你调试器,但是,这并不会对它步骤控制,并且我也希望键盘快捷键。)

我想这可能是编写脚本,但它似乎并不像在Xcode AppleScript词典中有一个钩子。 (尽管如此,我绝对不是AppleScript专家)

我不认为GUI脚本会让我得到我想要的,因为它会切换到Xcode步骤并切换回来。但如果速度足够快,可能会比没有好。

有没有办法将键盘命令发送到没有焦点的应用程序?

还有其他想法吗?

+0

我很肯定,即使通过Applescript使用UI界面脚本(如果您想要的控件可以在Xcode中访问),它也会在您的应用程序和Xcode之间切换,这要归功于“tell application Xcode”调用。 – tjk 2010-09-23 23:11:25

+0

查看Applescript中的系统事件字典 - 我认为它允许可能对您有帮助的按键编程。 – tjk 2010-09-23 23:12:23

+0

添加关键字'activate'会导致'tell'块的目标应用程序被带到最前面,否则尽管发送了命令,但顺序仍然是相同的。不过,我不知道,如果这种行为在UI脚本的情况下是相同的。 – 2010-09-24 09:55:53

回答

0

它似乎并不像你可以做到这一点,而无需使用用户界面脚本,我尽量避免。 (不过,如果你想这样做,请参阅Clark的答案)。这似乎是Xcode 3和Xcode 4.3.1的情况。

0

要查看Xcode的脚本支持,请启动脚本编辑器,找到Open Dictionary命令,然后选择Xcode。

+0

我在原始文章中提到过,我检查了字典并找不到任何有关逐步调试的信息,但是无论如何感谢。 – zekel 2010-09-24 15:46:49

0

正如其他人提到的使用UI脚本。因此,通过代码一步调试器你会使用这AppleScript的:

​​

而这Appscript:

app(u'Xcode').activate() 
app(u'System Events').keystroke(u'i', using=[k.command_down, k.shift_down]) 
+0

不幸的是,这不会让我留在模拟器没有切换回来,等我希望有一个更支持的方式来做到这一点。不过谢谢你的建议。 – zekel 2012-04-11 18:05:39