尝试使用此部件代码
-(IBAction)goAway:(id)sender{
SystemEventsApplication *systemEvents = [SBApplication applicationWithBundleIdentifier:@"com.apple.systemevents"];
[systemEvents sleep];
}
但无法从导入SystemEventsApplication的位置找到并且无法导入SystemEvents.h
找到此解决方案答案 0 :(得分:2)
要使用Scripting Bridge,您需要从相关应用程序的脚本定义生成头文件。 “脚本桥编程指南”的Preparing to Code部分引导如下:
在开始为项目编写任何Scripting Bridge代码之前,您应该完成以下几个步骤:
- 为您的代码发送消息的所有可编写脚本的应用程序生成头文件。
- 将这些文件添加到您的项目中。
- 在标题或实现文件中,为生成的头文件添加#import语句。
- 将Scripting Bridge框架添加到您的项目中。
醇>
接着说:
要创建头文件,您需要运行两个命令行工具-sdef和sdp-together,一个管道输出到另一个管道。这是推荐的语法:
sdef /path/to/application.app | sdp -fh --basename applicationName
因此,对于使用系统事件的脚本,您将运行:
sdef /System/Library/CoreServices/System\ Events.app | sdp -fh --basename SystemEvents
这将生成SystemEvents.h
,其中包含SystemEventsApplication
的定义,然后您可以将其包含在项目中。