Я использую iTunes Scripting Bridge для поиска музыки пользователя в iTunes. К сожалению, когда у меня включена песочница приложения и я использую следующий метод из 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];
Файл My 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>