问题标签 [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 投票
1 回答
508 浏览

objective-c - 如何通过 ScriptingBridge 检索 iTunes 曲目?

我有两种情况。给定歌曲的曲目 ID,将评分设置为某个整数。第二个是相同的,只是给了我一个轨道 ID 数组。我知道我可以使用 ScriptingBridge 根据歌曲名称搜索 iTunesTrack 对象,但是有什么方法可以根据曲目 ID 获取它吗?类似于以下内容:

对于第二种情况,有没有办法在给定轨道 id 数组的情况下检索 iTunesTrack 的 SBElementArray 对象?就像是:

我相信这比基于歌曲名称迭代搜索库更有效。

0 投票
1 回答
689 浏览

xcode - 如何让 Xcode 不关心从自定义脚本 (/dev/null) 返回的错误?

我在 Xcode 中有一个自定义脚本,它返回一个错误,但假设我不在乎。Xcode 不关心 /dev/null 并且不会编译

它基本上是用于生成基于 Apple Script Definitions 的 .h 文件,并且在最近的 OS X 更新之前一切正常。

在终端中,我所要做的就是结束这个命令

并且没有返回错误。无论我尝试使用 2> 还是 > 甚至 &> 在 Xcode 中都不起作用,它总是会返回一个错误。

0 投票
0 回答
352 浏览

cocoa - 在 Aperture 中检索图像的正确时间戳

Aperture 和 Cocoa 开发人员的问题……</p>

我使用 Aperture 和 @Fraser Speirs 的 FlickrExport 插件来管理我的照片并将它们上传到 Flickr。FlickrExport 使用 Flickr 照片 ID(以及其他内容)在 Aperture 中设置自定义标签,以便您查看已导出的图像。我还通过电子邮件从我的 iPhone 直接将照片发布到 Flickr(我发现保持 EXIF 数据完整的唯一方法)。

我正在尝试编写一个 Python 脚本,该脚本将轮询我的 Flickr 流并识别两个空间中都存在但没有指示照片也上传到 Flickr 的 Aperture 自定义标签的图像。在我升级到 Lion 之前,它通常运行良好,现在我发现了一些漏洞。

Flickr 和 Aperture 的时区处理非常糟糕/不存在,并且 EXIF 时间戳不捕获时区。图片的时间戳只是说“7 月 14 日上午 10:03”。如果我在将图像导入 Aperture 时将计算机的系统时区设置为波士顿(美国/东部),Aperture 会将其显示为7/14/11 10:03:00 AM EDT. 如果我再次导入相同的图像,但将系统时区设置为洛杉矶(美国/太平洋),则图像的日期显示为7/14/11 10:03:00 AM PDT. 好的,这是令人困惑和错误的(如果没有表达时区,则不应该暗示)。

现在让我们切换域。我正在使用 ScriptingBridge 通过 Python 与 Aperture 进行交互。当我检索 ImageDate EXIF 标记的值时返回的 NSDate 已更正为当前系统时区(在我的情况下为美国/东部)。

对于我的系统时区设置为美国/东部时导入的图像:

对于我的系统时区设置为美国/太平洋时导入的图像:

所以 Aperture 似乎认为它知道图像的时区是什么(即使没有提供),但似乎没有办法通过 ScriptingBridge 返回它。那么,给定这个 NSDate 对象,有什么方法可以在其原始时区中找到日期和时间,即使我不知道原始时区是什么?这是否可以通过 Aperture 插件 API 来实现?

请注意,如果我使用批量更改命令执行时间调整并设置时区,或者通过导入窗格进行相同的调整,则会添加两个自定义标签:pictureTimeZoneNamecameraTimeZoneName。如果pictureTimeZoneName存在,我应该能够在没有任何“更正”的情况下提取时间戳。但我正在寻找一种不需要太多用户干预的解决方案。

0 投票
2 回答
2061 浏览

objective-c - 使用 ScriptingBridge 获取当前歌曲的 iTunes 艺术作品

我一直在试图弄清楚如何使用脚本桥获取当前正在播放的歌曲的 iTunes 艺术作品。我已经达到了它适用于某些歌曲的程度,但对于其他歌曲,我得到了 SIGABRT。我不确定问题可能是什么,所以任何帮助将不胜感激。这是我到目前为止所拥有的:

我对某些歌曲有效,并在菜单项中很好地显示了艺术品,但对于其他歌曲,我在线获得了 SIGABRT:

控制台的输出如下:

如果有人知道可能出了什么问题,请告诉我!!

0 投票
0 回答
535 浏览

nsarray - 将填充有 NSDictionaries 的 NSArray 传递给 NSAppleScript

所以我有一个 Apple Script 正在运行我的程序的一个功能,如下所示:

使用这种方法:

我有一个NSArray(充满状态)需要传递给 Apple 脚本。现在我将文件转储到 plist:

我可以通过 System Events plist Infrastructure 在 Apple Script 中轻松获取它,但我真的更愿意在 RAM 中完成这一切。现在我想我可以使用这里提到的属性语法,http://developer.apple.com/library/mac/#releasenotes/ScriptingAutomation/RN-AppleScriptObjC/_index.html但我需要它在 10.5、10.6 和 10.7 上工作所以我不能使用任何尚未发布的东西。NSArray关于将完整或NSDicitonary对象传递给我的 Apple Script(这将成为 Apple Script 中的列表)的基于内存的巧妙方式有什么想法吗?

如果有帮助,这是文件删除方法的 Apple Script 代码

0 投票
1 回答
160 浏览

gps - Script Bridge 和 iPhoto - 纬度/经度信息仅是 NSInteger?

我正在尝试使用 Obj-C 中的脚本桥(XCode 4.1,SDK 10.7)访问 iPhoto 图像中的 GPS 信息。这是一个代码片段:

不幸的是,纬度和经度属性是 NSInteger 类型,它产生的结果非常不精确(例如,38,120)以致于完全无用。使用 Applescript 访问相同的属性会产生正确的值(例如,38.03555555,-120.401388883333)。有没有更好的方法在 Obj-C 中获取这些信息?

此外,iPhotoPhoto 类有一个名为“id”的属性,由于 id 是 Obj-C 保留字,因此无法获取该属性。[i id] 编译但崩溃。同样,我如何获得此属性?

我曾尝试为 XCode 4/SDK 10.7 构建 appscript,但没有成功。

0 投票
1 回答
580 浏览

applescript - 使用 FileMaker Pro 11 的 Objective C 脚本桥

我正在尝试使用脚本桥与 FileMaker pro 11 进行通信,我可以让它启动应用程序,打开正确的数据库文件,但无法进一步。

有没有人有 FileMaker Pro 的示例脚本桥接文件,一旦我能理解两者之间的通信,我应该没问题。

我想将我用 Applescript Studio 编写的应用程序转换为 Objective C。我知道 Objective C,但可以理解 FMP 之间的通信。

0 投票
1 回答
366 浏览

objective-c - Scripting Bridge Objective-c PagesWord

我正在尝试使用 Scripting Bridge 从我的应用程序中修改现有的 Pages 文档。我已经遵循文档中提到的所有步骤:我创建了一个头文件并彻底检查了它,但我就是不知道如何做到这一点。

我基本上是在尝试进行搜索替换:我有一个字符串列表,我想用这些字符串替换一些搜索值。问题是我无法弄清楚 PagesWord 类是如何工作的。我只想从中获取一个字符串,并将其与我的搜索值进行比较。我目前必须遵循以下代码:

在最后 3 行之前一切正常:打开正确的 Pages 文档并记录字数,但字符串不是:我只看到异常消息。我也尝试使用 PagesWord 的属性,但我也遇到了同样的问题......

谁能帮我?

0 投票
1 回答
869 浏览

osx-lion - 脚本桥和沙盒

我想制作一个需要使用 Scripting Bridge 获取 Safari 中打开的选项卡列表的应用程序。那么是否可以对这样的应用程序进行沙箱处理,以便可以在 App Store 上销售?

0 投票
1 回答
385 浏览

cocoa - Cocoa 应用程序中的 Mac 版 Twitter 集成

我看到 XCode 和 Skype 都允许选择文本并通过 Twitter for Mac 应用程序发送推文,我想使用 Apple Scripting Bridge 来执行此操作,但在生成 Twitter for Mac 头文件后我很不高兴:

在这里,您可以找到使用 Cocoa Scripting Bridge 和 Objective-C 类处理 Mac 版 Twitter 所需的一切:

接着

问题是直到现在我还没有找到在 TwitterApplication 对象中发送 TwitterStatus 的任何方法。