问题标签 [scripting-bridge]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
129 浏览

objective-c - 寻找更好的方法来测试对象的类类型

在将 Scripting Bridge 与 Excel 一起使用时,当我获取单个单元格的值时,我不知道要从该单元格中获取什么类。到目前为止,单个单元格的范围返回一个NSStringNSNumber(多个单元格的范围总是返回一个NSArray,我需要从那里强制转换值)。在我的工作中,我通常只想要单元格的字符串值,所以为了将单个单元格范围的值强制为我需要的值,我这样做......

我的问题在于第一行(我们暂时忽略第三行,因为我还在做一些重构)。会有更好的类来捕获单元格的值来测试类吗?最后三行工作正常,但我觉得这样做不太舒服;这似乎不直观,但NSObject感觉也很奇怪。

0 投票
1 回答
1109 浏览

objective-c - 使用 NSPredicate 和 FourCharCodes 编写桥接脚本和过滤 SBElementArrays

我第一次尝试使用 Scripting Bridge,但遇到了SBElementArray根据包含 FourCharCode 枚举常量作为标准的 NSPredicate 过滤 a 的问题。

我编写了一个简单的程序来识别用户 iTunes 库中的“库”源,通过使用-filteredArrayUsingPredicate:过滤SBElementArray所有 iTunes 源。我期待得到一个SBElementArray在评估时会产生一个元素的数组,即库源。相反,当我调用 return 时-getSBElementArray我得到一个空数组。

令人困惑的是,如果更改顺序并调用所有源中-getSBElementArray以获取具体的,并使用与以前相同的谓词NSArray调用此数组,我确实得到了所需的结果。-filteredArrayUsingPredicate:但是,我不认为这应该是必要的,并且我已经成功地SBElementArray使用其他 NSPredicates 过滤了一个(例如@"name=='Library'"工作正常)。

代码片段如下。iTunesESrcLibrary是 Scripting Bridge 生成的头文件中定义的 FourCharCode 常量。( iTunesESrcLibrary = 'kLib')。我正在运行 10.6.5。

我得到的输出如下:

0 投票
3 回答
828 浏览

objective-c - 使用 ScriptingBridge 打开文件

我有一个 AppleScript,我正在尝试将其转换为 ScriptingBridge。由于我的应用程序是 C++/Obj-C 应用程序,因此 ScriptingBridge 更易于使用且速度更快(更不用说我讨厌动态构建 AppleScripts)。

AppleScript 向 Photoshop 发送一条消息以打开文件。文件参数以 . 格式发送alias,但 ScriptingBridge 将参数作为id. 我不知道我应该传入什么 Obj-C 对象?

我试过传递一个 NSURL 和一个 NSString (可能不正确:-P),但无济于事。关于我应该为文件别名传递什么的任何建议?

0 投票
1 回答
366 浏览

objective-c - Objective-C,在 Mac OS X 应用程序运行时不断运行的方法

我目前正在用 Objective-C 编写一个应用程序,它显示当前在 iTunes 中播放的歌曲的艺术家姓名,但是我希望在歌曲更改时更新艺术家姓名。

这是我到目前为止获取艺术家姓名并设置 NSTextField 以显示艺术家姓名的方法。

任何帮助将不胜感激,谢谢,萨米。

0 投票
2 回答
4176 浏览

objective-c - Objective-C Mac OS X 分布式通知 iTunes

我需要一点帮助,我目前有一个方法;我的 Mac OS X 应用程序中的 updateTrackInfo 获取艺术家姓名、曲目名称和当前在 iTunes 中播放的曲目的持续时间

但是我希望应用程序监听分发的 iTunes 通知;com.apple.iTunes.playerInfo然后在 iTunes 分发通知时调用方法 updateTrackInfo。请有人帮助我,我需要在头文件和实现文件中写什么。

谢谢,萨米。

0 投票
1 回答
151 浏览

objective-c - 使用 ScriptingBridge 表示范围(或切片)

我正在尝试使用 Scripting Bridge 在 Objective-C 中表达一个切片(“通过 AppleScript”)。示例代码在 iWorks Pages 中进行选择。AppleScript 代码如下所示

Objective-C 代码在这里。我需要的是一种在 Objective-C 中表达(字符 8 到 14)的方式。

感谢您的帮助。比约恩

0 投票
1 回答
1062 浏览

objective-c - Objective-C 脚本桥和 iTunes

嗨,我需要一点帮助,我想在我的 Mac 应用程序上包含 2 个按钮,这将触发 2 个操作,1 个将触发 iTunes 随机播放功能并将其设置为“是”,但如果它已全部准备好设置为“是”,那么它将设置为“否” . 另一个将获得 iTunes 当前播放的重复模式。

这是我从 iTunes.h 文件中找到的,也是对 iTunes.h 文件的描述http://merbist.com/2010/01/17/controlling-itunes-with-macruby/

谁能帮助我,谢谢萨米。

0 投票
2 回答
1522 浏览

cocoa - 脚本桥头文件

如何在运行时生成脚本桥文件?我想使用脚本桥来退出应用程序,但该应用程序在编译时是未知的。

0 投票
1 回答
871 浏览

objective-c - 开始使用 ScriptingBridge 应用程序 Cocoa/Objective-C 时遇到问题

我正在尝试在我的 Mac OS 应用程序中使用 Scripting Bridge,但在实现它时遇到了困难。我已经包含了该框架,并打算将它与 Finder 一起使用,因此我也在我的应用程序中包含了一个 Finder.h 文件。

IE

但是,每当我打电话时:

我得到错误

'FinderApplication' 未声明(在此函数中首次使用)

为了让它工作,我还需要做其他什么事情吗?

谢谢。

0 投票
1 回答
1023 浏览

cocoa - 如何仅从 iTunes 主库中获取音频文件(由 Scripting Bridge 返回)?

我有一个很简单的问题。我想将音频文件放入我的表格视图中。我如何将它们与 pdf 和电影等区分开来?

我通过 Scripting Bridge 从 iTunes 获取它们:

这给了我一个错误,说找不到类 iTunesFileTrack(在链接时):

我确定我错过了一些简单的东西:)

相关说明:是否有更快的方式来阅读 iTunes 资料库?我只是建议从 xml 文件加载它,但这对我来说似乎不安全。如果苹果在下一个版本中改变任何东西,我就完蛋了。

谢谢

编辑:sdef /Applications/iTunes.app | sdp -fhm --basename iTunes我可以生成我需要检查类的 .m 文件。但它似乎不起作用:

跳过我的流:P 不是电影。(即使我添加(track.videoKind != iTunesEVdKNone))。甚至 PDF 也是 iTunesFileTracks。但是 .h 声明: