objective-c - 无法使用 iTunes 脚本桥和沙盒搜索音乐

标签 objective-c xml cocoa appstore-sandbox

我正在使用 iTunes Scripting Bridge 在 iTunes 中搜索用户的音乐。不幸的是,当我启用了 App Sandbox 并使用 iTunes.h 中的以下方法时:

(iTunesTrack *) searchFor:(NSString *)for_ only:(iTunesESrA)only; 

它只返回零。但如果我禁用应用程序沙箱,它就可以正常工作。我似乎无法弄清楚我需要在我的权利文件中包含哪些权利才能使其正常工作。有什么想法吗?

我的代码:

SBElementArray *iTunesSources = [self.iTunes sources];
iTunesSource *library;
for (iTunesSource *thisSource in iTunesSources) {
    if ([thisSource kind] == iTunesESrcLibrary) {
        library = thisSource;
        break;
    }
}
SBElementArray *libraryPlaylists = [library libraryPlaylists];
iTunesLibraryPlaylist *libraryPlaylist = [libraryPlaylists objectAtIndex:0];

SBElementArray* searchTracks = (SBElementArray *)[libraryPlaylist searchFor:searchTerm only:iTunesESrAAll];

我的 App.entitlements 文件:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>com.apple.security.app-sandbox</key>
    <true/>
    <key>com.apple.security.scripting-targets</key>
    <dict>
        <key>com.apple.iTunes</key>
        <array>
            <string>com.apple.iTunes.library.read-write</string>
            <string>com.apple.iTunes.playback</string>
            <string>com.apple.iTunes.playerInfo</string>
        </array>
    </dict>
</dict>

最佳答案

查看控制台并检查记录了哪些类型的沙箱违规行为;然后添加适当的权利。

如果是“因为它无权向此进程发送 AppleEvent”。将其添加到权利文件中:

<key>com.apple.security.temporary-exception.apple-events</key> <array> <key>com.apple.iTunes</key> </array>

关于objective-c - 无法使用 iTunes 脚本桥和沙盒搜索音乐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19803339/

相关文章:

ios - UIImageView 以错误的尺寸显示

ios - CABasicAnimation 起源于右上角而不是中心

html - 在 Mac 上将 plist xml 文件转换为 html/pdf 格式

macos - 如何从 NSView 或 NSWindow 创建 AXUIElementRef?

objective-c - 无法发送草稿中的附件 (Mail.app)

Xcode,OS X : viewing a simple NSMutableArray

ios - 当弹出框内的文本字段触发键盘时,将表格 View 滚动到弹出框过度呈现的文本字段

objective-c - 使用 NSTimer 传递原始参数的正确方法

java - 挑选 NodeList 的最后一项 - java

xml - 以唯一 id 作为属性的 XSD 架构