Movimento playlist nella cartella non funziona
Domanda
Sto avendo problemi di spostamento di una nuova SPPlaylist
per un (forse appena creato) SPPlaylistFolder
.
L'idea è di creare una cartella per l'utente di un account di Spotify, dove posso aggiungere la playlist generata dalla mia applicazione.Se tale cartella è stata creata, sto creando un nuovo SPPlaylistFolder
e salvare la cartella di id per un uso successivo.
Questo è quello che sto facendo (ho omesso le parti di codice che non sono interessanti a questo argomento):
Se un
folderId
è stato salvato in precedenza (es.una cartella creata), utilizzare l'ID di caricare la cartella di esempio:... NSError *error = nil; if (folderId > 0) { // try to fetch folder folder = [[SPSession sharedSession] playlistFolderForFolderId:folderId inContainer:container]; } if (folder == nil) { // create folder folder = [container createFolderWithName:@"My Folder" error:&error]; // save a reference to the folder in an instance var _appFolder = [folder retain]; // (also saving folder.folderId in NSUserDefaults) } ...
Creare un
SPPlaylist
:[[[SPSession sharedSession] userPlaylists] createPlaylistWithName:@"My Playlist"]
.Utilizzare KVO osservare il contenitore
playlists
la struttura e ricevere la notifica di quando la playlist è stata creata:[[[SPSession sharedSession] userPlaylists] addObserver:self forKeyPath:@"playlists" options:0 context:nil]
.Osservare il
playlists
proprietà e spostare la playlist creata per il mioSPPlaylistFolder
(containerPlaylist
è la playlist che ho identificato come uno spostare):... // identify the index of the containerPlaylist NSInteger playlistIndex = [[[[SPSession sharedSession] userPlaylists] playlists] indexOfObject:containerPlaylist]; // move playlist NSError * error = nil; BOOL success = [container movePlaylistOrFolderAtIndex:playlistIndex ofParent:nil toIndex:0 ofNewParent:_appFolder error:&error]; if (success) { // This should be a great success. But the playlist hasn't been moved, although the error variable is nil. } ...
Dopo questi passaggi, sia la playlist e la cartella sono stati creati, ma la playlist non è stato spostato.E non sto ottenendo eventuali errori che indica qualsiasi input non valido per il movePlaylistOrFolderAtIndex
metodo.
Mi manca qualcosa di ovvio qui?O è la funzionalità di spostamento difettoso in qualche modo?
Nota:Ho anche provato ad usare questo codice per spostare le playlist che hai creato in precedenza (es.spostare tutte le playlist denominata "My Playlist" nella cartella).
EDIT 1: Ho studiato un po ' avanti e in realtà avuto qualche azione di movimento in corso.Ma ho dovuto riscrivere parte del codice ed eseguire la mossa più volte (o in una fase successiva).Sembra che questo è legato ai dati SPSession non essere completamente sincronizzate/up-to-date (?) poiché è possibile spostare playlist quando la registrazione in seguito con una nuova sessione.
È possibile che sia un problema di sincronizzazione, cioèlibspotify ritiene che il SPPlaylistFolder
è creato e si muove SPPlaylist
s ad esso, senza che in realtà si fa ancora?
Soluzione
Dopo aver aggiornato il mio codice con riferimento agli questo problema su cocoalibspotify, funziona meglio.Quello che non capisco è come la sincronizzazione con il servizio Spotify ha funzionato.Si può facilmente richiedere diversi minuti per le modifiche del client desktop di Spotify, per esempio.