Cocoa 应用程序内部的 Applescript

2023-12-14

对于我正在编写的应用程序,我需要访问一些其他应用程序的项目,Applescript 似乎是最好的方法。我一直在使用 Appscript 框架,它运行良好,因为它允许我对其进行线程化,并且当 Applescript 需要一段时间时不会使我的应用程序锁定。但是,现在我正在尝试使我的应用程序兼容 64 位,但 Appscript 框架似乎不支持 64 位。有没有一种在 Cocoa 中使用 Applescript 的“好”方法,既不会锁定我的应用程序,又能让我获得所需的完全控制权?

--firen


这好像是SBApplication应该可以,但我以前没用过。

根据@cocoadevcentral:

SBApplication:用于使用 Objective-C 而不是 AppleScript 进行跨应用程序脚本调用。例如:获取当前的 iTunes 曲目。

以下是文档的摘录:

SBApplication 类提供了一种机制,使 Objective-C 程序能够将 Apple 事件发送到可编写脚本的应用程序并接收 Apple 事件作为响应。因此,该程序可以控制应用程序并与其交换数据。 Scripting Bridge 的工作原理是在 Apple 事件描述符和 Cocoa 对象之间桥接数据类型。

尽管 SBApplication 包含手动发送和处理 Apple 事件的方法,但您永远不必直接调用这些方法。相反,SBApplication 的子类实现了应用程序特定的方法来自动处理 Apple 事件的发送。

例如,如果您想获取当前的 iTunes 曲目,您可以简单地使用 iTunes 应用程序动态定义的子类的 currentTrack 方法(它为您处理发送 Apple 事件的详细信息),而不需要弄清楚更复杂的,低级替代方案:

[iTunes propertyWithCode:'pTrk'];

如果您确实需要手动发送 Apple 事件,请考虑使用 NSAppleEventDescriptor 类。

希望有帮助!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Cocoa 应用程序内部的 Applescript 的相关文章

  • 以编程方式更改 UISlider 的范围

    如何以编程方式设置 UISlider 的最小最大范围 例如 虚拟代码 UISlider slider UISlider alloc init slider min 3 slider max 3 EDIT 所以我有以下内容 sl minimu
  • ObjC <-> Swift 桥接和工厂方法

    我想从 Swift 使用一些 Objective C 类 由于超出了这个问题范围的原因 我的班级init方法被标记为不可用 相反 有一个工厂方法 这是我的班级的简化形式 interface MyClass NSObject instance
  • OSX 通过 macports 安装 subversion 时出错

    我正在尝试安装 subversion 1 7 2 从默认的 Lion 版本 1 6 升级 跑步sudo port install subversion安装成功完成 但是在运行 svn version 时收到此错误 svn version d
  • 将第 3 方库添加到 iPhone 应用程序时如何设置“标题搜索路径”的路径

    我想添加第 3 方库语音转文本 https github com todoroo iPhone Speech To Textto my Xcode项目 我只是拖xcodeproj文件在我的 iPhone 项目中 然后我按照目标依赖项 将二进
  • Xcode 7.3.1 可以在 macOS 10.12 上运行吗?

    我想安装并尝试 macOS 10 12 的新功能 我也很想在 Xcode 8 0 上工作 但同时我有一些应该在 Swift 2 2 Xcode 7 3 1 上编写的客户端项目 我不想使用 Swift 2 3 或 Swift 3 0 那么可以
  • OpenGL ES 1.1 顶点缓冲区对象不工作

    我正在使用 OpenGL ES 1 1 开发一款 iPhone 游戏 需要使用顶点缓冲区对象来渲染 500 多个粒子而不降低性能 我的游戏能够使用非 VBO 方法成功绘制 但现在我尝试合并 VBO 却不再绘制任何内容 请帮助我找出我做错了什
  • 如何确定 UINavigationController 中工具栏的高度?

    我有一个带有由 UINavigationController 呈现的工具栏的视图 当我处理 UIKeyboardWillShowNotification 时 我将整个屏幕向上滚动键盘的高度 问题是当显示键盘时 底部工具栏不显示 所以我只需将
  • iOS SDK:MapKit MKPolyLine 未显示

    我试图在地图上显示多段线 但该线没有显示 我尝试了很多事情 但注意到似乎有用 我检查了核心数据函数 它正在返回数据 所以这不是问题 它必须是我在地图点创建或地图上绘制的某个地方 我猜 我确信一定是某个地方出了点小错误 但我找不到它 My c
  • Cocoa 卸载驱动器但不弹出它

    你知道要卸载驱动器吗without将其弹出 NSWorkspace有一些卸载驱动器的方法 但它也会弹出它们 任何想法 我按如下方式执行此操作 它会卸载驱动器但不会弹出它 其实我想弹出磁盘 只能卸载磁盘 P 请分享如何弹出磁盘 DASessi
  • 为什么 UIWebView 吃这么多内存?

    我正在使用 UIWebView 为我的 iPad 应用程序加载纯文本 HTML 页面 HTTP页面的大小只有40KB 但是当我使用仪器监控加载 UIWebView 的内存使用情况时 我发现它消耗了大约 20MB 内存 如果我滚动 Web 视
  • 你使用什么样的类别方法来使Cocoa编程变得更容易?

    我使用 Cocoa 内置类的一系列类别方法来让我的生活更轻松 我将发布一些示例 但我真的很想看看其他编码人员想出了什么 有哪些方便的分类方法you using 示例 1 implementation NSColor MyCategories
  • 在带有 m1 芯片的 mac 上安装 python 表

    我正在尝试在带有 M1 芯片的新 mac mini 上使用 python3 中的表 我在运行时遇到多个错误HDF5 DIR opt homebrew Cellar hdf5 1 12 0 1 pip3 install tables ERRO
  • NSImage 的 ressizedImageWithCapInsets ?

    In UIKit我们有 UIImage resizableImageWithCapInsets UIEdgeInsets capInsets 有类似的东西吗AppKit用于创建可平铺的NSImage NSImage 在 10 10 Yose
  • 获取 UIView 的视图控制器(iphone)

    我这样做是为了获得视图 self superview viewWithTag 10 但我怎样才能获得该视图的视图控制器 就像您可以获得视图控制器的视图一样 我想采用另一种方式 以便我可以向该视图控制器发送消息 调用方法 例如 self su
  • 如何将 AFNetworking 2 与摘要式身份验证结合使用

    我一直在搜索 AFNetworking 2 with Digest Authentication 一段时间 但没有找到关于它的有用讨论 除了this one https github com AFNetworking AFNetworkin
  • @interface 中的 Objective-c 特定 iOS 版本

    我正在尝试实现Apple Pay 并且我尝试实现两种方法 一种用于iOS10 一种用于iOS11 所以在我的实现中我有 void paymentAuthorizationViewController PKPaymentAuthorizati
  • cocos2d中获取CCSprite的绝对位置

    在我的游戏中 我有一个CCSprite绕另一个轨道运行CCSprite 很像电子绕原子核运行 我将电子作为原子核的子元素 以使动画更加简单 我所要做的就是旋转原子核 电子就会很好地跟随 然而 我的问题来自于想要让轨道动画看起来更时髦一点 通
  • 如何从 NSString 中获取每一行?

    如果我有一个包含文本文件的 NSString 如何获取 NSString 的 NSArray 其中每个 NSString 都包含该文件的一行 在 10 5 中我这样做了 NSArray lines str componentsSeparat
  • NSTableView 在编辑时点击 Tab 键可从行跳转到行

    我有一个 NSTableView 编辑时 如果我点击选项卡 它会自动跳到下一列 这太棒了 但是当我编辑最后一列中的字段并点击选项卡时 我希望焦点跳转到下一行的第一列 有什么建议么 感谢 Michael 提供的起始代码 它非常接近最终的工作结
  • Objective c,实例成员的内存管理

    我对实例成员的内存管理感到困惑 我有一个带有 ivar 的课程 DetailedResultsTableViewController detailedResultsTableViewController and property nonat

随机推荐