我正在尝试在我的 Cocoa 应用程序中从 NSAppleScript 编写 iTunes 脚本,以便将文件添加到库中。
在我的权利文件中,我添加了以下内容:
<key>com.apple.security.scripting-targets</key>
<dict>
<key>com.apple.itunes</key>
<array>
<string>com.apple.itunes.library.read-write</string>
</array>
</dict>
然后我像这样调用AppleScript:
var error: NSDictionary? = nil
let appleScript = NSAppleScript(source: "tell application \"iTunes\" to add (POSIX file \"\(path)\") to library playlist 1")
let result = appleScript?.executeAndReturnError(&error)
但它失败并出现错误-10004
:iTunes got an error: A privilege violation occurred.
itunes
我尝试两种方式(和)都使用iTunes ,iTunes
但似乎没有任何效果。我还尝试在读写权限之上添加read
权限。最后,我尝试添加对用户音乐文件夹(存储 iTunes 库的位置)的读写访问权限,但这也无济于事。
为了编写 iTunes 脚本,是否还有其他我不知道的必需权利?
我在搜索解决方案(链接)时找到了此链接,但它要求用户在其文件夹中选择一个特定文件Library
夹以授予应用程序用户选择的文件访问权限,然后它要求脚本位于一个单独的文件中,即 2我想做的事情太多了。对于脚本文件的管理,我不信任用户,我不需要用于 1 行 AppleScript 代码的文件。据我了解,另一个缺点NSUserAppleScriptTask
是您不能在多个调用中保持脚本的状态,这在我的情况下不是问题,但可能是其他人的问题。
谢谢