Cocoa 不能';导入系统事件应用程序

Cocoa 不能';导入系统事件应用程序,cocoa,Cocoa,请尝试使用此部件代码 -(IBAction)goAway:(id)sender{ SystemEventsApplication *systemEvents = [SBApplication applicationWithBundleIdentifier:@"com.apple.systemevents"]; [systemEvents sleep]; } 但找不到从何处导入SystemEventsApplication,无法导入SystemEvents.h 在此处找到此解决方

请尝试使用此部件代码

-(IBAction)goAway:(id)sender{
    SystemEventsApplication *systemEvents = [SBApplication applicationWithBundleIdentifier:@"com.apple.systemevents"];
    [systemEvents sleep];
}
但找不到从何处导入SystemEventsApplication,无法导入SystemEvents.h


在此处找到此解决方案要使用脚本桥,您需要从相关应用程序的脚本定义生成头文件。《脚本桥编程指南》的这一部分将介绍以下内容:

在开始为项目编写脚本桥代码之前,应完成以下几个步骤:

  • 为代码正在向其发送消息的所有可编写脚本的应用程序生成头文件
  • 将这些文件添加到项目中
  • 在头文件或实现文件中,为生成的头文件添加#import语句
  • 将脚本桥框架添加到项目中
  • 它接着说:

    要创建头文件,需要同时运行两个命令行工具sdef和sdp,并将输出从一个管道传输到另一个管道。这是推荐的语法:

    sdef/path/to/application.app | sdp-fh--basename applicationName

    因此,对于使用系统事件编写脚本,您需要运行:

    sdef /System/Library/CoreServices/System\ Events.app | sdp -fh --basename SystemEvents
    
    这将生成
    SystemEvents.h
    ,其中包含
    SystemEventsApplication
    的定义,然后可以将其包含在项目中