iTunes脚本与脚本桥梁和沙盒
问题描述:
我有一个应用程序告诉iTunes使用ScriptingBridge框架播放音乐。该应用要么告诉iTunes播放播放列表或某个曲目。该应用程序也是沙盒。iTunes脚本与脚本桥梁和沙盒
要播放的播放列表,这里就是我有:
iTunesPlaylist* playlist = ...
[playlist playOnce: YES];
要播放曲目,这是非常简单的,以及:
iTunesTrack* track = ...
[track playOnce: YES];
由于我的应用程序沙箱,我有以下行在我的权利文件中:
<key>com.apple.security.scripting-targets</key>
<dict>
<key>com.apple.iTunes</key>
<array>
<string>com.apple.iTunes.library.read</string> // I also have this to read the playlists/tracks the user has on his library
<string>com.apple.iTunes.playback</string>
</array>
</dict>
我已经测试了没有应用沙盒和代码的作品完美。虽然沙盒虽然播放列表代码工作正常,但播放轨道确实不是工作。我检查了控制台应用程序,似乎没有记录涉及沙箱和我的应用程序。
起初我以为我可能在我的权利文件中缺少一些access-group
,但后来我认为这没有意义,因为我已经有playback
之一。我无法在网上找到iTunes的任何访问组列表(我甚至尝试使用sdef从iTunes获取属性列表并搜索'access-group',但什么都没找到 - 它不在那里),所以我不能确认我是否需要更多。
总结一下,为什么沙盒阻止了它的工作?
答
没关系。事实证明,我呼吁的SBElementArray
filteredArrayUsingPredicate:
找出我想播放的曲目和莫名其妙被搞乱的东西了。现在我使用方法objectWithName:
,它的工作原理。
你确定你的应用程序将由Apple提交吗? – 2013-05-08 17:27:37
@NikolaiNagorny你是什么意思?我是一个提交我的应用程序的MAS – Alex 2013-05-08 17:50:52
我想使用脚本桥,但我不确定苹果提交我的应用程序使用这种技术... – 2013-05-08 18:30:55