1

我正在用 AppleScript 编写代码来将 Obj-C Cocoa 应用程序粘合到其他一些东西上。在学习 Cocoa 时,我对 AppleScript 非常不熟悉,所以当然我的代码中有各种各样的错误需要解决,而且我至少需要一些日志记录。

但是,AppleScript 'log' 命令的输出似乎并没有出现在 XCode 的调试器控制台中,并且调用 NSLog 似乎也不起作用。有什么方法可以从 AppleScriptObjC 类方法中将输出发送到调试器控制台?

(建议:这个 Q 上的新 applescriptobjc 标签——我还不能创建新标签)

4

2 回答 2

3

我不使用applescriptobjc,所以我不确定。但是,我曾经使用 Applescript Studio,所以我的经验可能适用。我注意到在应用程序的代码块中不能有日志(或 NSLog)语句。基本上,如果你这样做,那么你就是在告诉应用程序记录一些东西,而应用程序不知道 log 命令......所以它不会工作。因此,您必须从应用程序告诉块中获取日志语句或使用 use tell me 在tell块中记录“某事” ......这实际上告诉applescript进行日志记录。

于 2010-07-15T09:33:01.710 回答
2

不理想,因为这会记录到控制台并使用 shell,但这至少应该让你得到一些有用的东西:

log_entry("Hello, World!")

on log_entry(theLine)
    do shell script "echo " & theLine & " >> ~/Library/Logs/AppleScript-events.log"
end log_entry
于 2010-07-19T17:34:48.517 回答