【问题标题】:Running Applescript from a Cocoa application从 Cocoa 应用程序运行 Applescript
【发布时间】:2010-07-09 15:04:25
【问题描述】:

我想在一个可可应用程序中运行一个简单的applescript。我阅读了有关此事的苹果文档,但这对我(初学者)来说太混乱了,无法理解。

tell application "iTunes" to play

【问题讨论】:

  • 不。我无法从苹果文档中得到任何东西

标签: cocoa applescript


【解决方案1】:

根据documentation,您使用NSAppleScript 类。

非常简短的 API 参考中有一个名为“初始化脚本”的部分,其中一个方法是 -initWithSource:,它采用 NSString。您将通过这种方式创建对象。

一旦你有了你的脚本对象,你可以将-compileAndReturnError:然后-executeAndReturnError:作为单独的步骤,或者只是-executeAndReturnError:,根据该方法的文档,如果不是,它会尝试首先编译源代码已经存在,然后执行。

因此,理论上,您可能可以在一行中完成所有这些操作。 (alloc, init..., autorelease, executeAndReturnError:) 如果你像一个顽皮的开发者一样忽略错误。

注意 NSAppleScript 只能从主线程(即,不能从 NSOperation/Queue 或其他线程)执行的警告。


【讨论】:

  • 这是我的脚本对象/代码。 NSAppleScript *ascript = [[NSAppleScript alloc]init]; [ascript executeAndReturnError:] 我如何告诉它我的脚本是什么
  • 我看不出我做错了什么。我不知道如何在 executeAndReturnError 之后填写参数:这实际上是我第三天的目标 c。
  • 好的,我想出了这个。但它似乎没有运行脚本,因为它不播放或暂停我的 iTunes。 -(IBAction)playpause:(id)sender{ NSAppleScript *playScript; playScript = [[NSAppleScript alloc] initWithSource:@"iTunesPlayPause.scpt"]; [playScript executeAndReturnError:nil]; }
  • 呜呜呜呜!!我得到了它!!!!! initWithSource:@"" 我应该把 applescript 原始代码。伙计,我觉得很有成就感。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-11-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多