当前位置:  开发笔记 > IOS > 正文

可可应用程序内部的Applescript

如何解决《可可应用程序内部的Applescript》经验,为你挑选了1个好方法。

对于我正在编写的应用程序,我需要访问其他一些应用程序的项目,Applescript似乎是最好的方法.我一直在使用Appscript框架,该框架运行良好,因为它允许我编写线程,而不是在Applescript需要一段时间时让我的应用程序锁定.但是,现在我试图使我的应用程序64位兼容,似乎Appscript框架不支持64位.是否有一种"好"的方式在Cocoa中使用Applescript不会锁定我的应用程序,但仍然给我完全控制我需要的?

--firen



1> Jorge Israel..:

它似乎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类.

希望有所帮助!

推荐阅读
小色米虫_524
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有