我正在尝试使用ScriptingBridge阅读iTunes当前正在播放的曲目。我在这里找到了其他两个线程,但似乎没有一个对我有用(macOS Mojave和iTunes 12.9.4)。
我使用以下命令创建了iTunes.h文件:
sdef /Applications/iTunes.app | sdp -fh --basename "iTunes"
Run Code Online (Sandbox Code Playgroud)
我正在创建脚本桥的实例,如下所示:
if let itunes: AnyObject = SBApplication(bundleIdentifier: "com.apple.iTunes")
{
if itunes.isRunning
{
Swift.print("iTunes is running...")
}
Swift.print(itunes.currentTrack?.name)
Swift.print(itunes.currentTrack?.album)
}
Run Code Online (Sandbox Code Playgroud)
该代码可以正常编译。运行代码时,得到以下输出:
iTunes is running...
nil
nil
Run Code Online (Sandbox Code Playgroud)
currentTrack为零,但iTunes正在播放歌曲。我在这里想念什么?我已经尝试禁用沙箱,但无济于事。我正在使用macOS Mojave,Xcode 10.2和iTunes 12.9.4。另外,当iTunes未运行时,它将启动吗?为什么?
是否会有另一种方法来获取iTunes当前播放的歌曲?