2015-06-23 14 views
7

Cercando di ottenere tutta la pista in utenti playlist, funziona in Objective-C demo app, ma quando provo a Swift restituisce questo:SPTPlaylistSnapshot tracksForPlayback ritorna nil

<SPTPlaylistList: 0x7fca22d72460>: 0-0 of 1 items (Function)

sto usando questo codice:

SPTPlaylistList.playlistsForUserWithSession(session, callback: { (error, object) -> Void in 
      if error == nil { 
       var playlists = object as! SPTListPage 
       println(playlists) 
       SPTPlaylistSnapshot.playlistWithURI(playlists.items[0].uri, accessToken: session.accessToken, callback: { (error:NSError!, obj) -> Void in 
        var playl = obj as! SPTPlaylistSnapshot 
        println(playl.firstTrackPage.tracksForPlayback) 
       }) 
      } 

     }) 

e questo è il codice Objective-C che sta lavorando:

[SPTPlaylistList playlistsForUserWithSession:session callback:^(NSError *error, id object) { 
    SPTListPage *aa = object; 
    NSLog(@"%@",aa.items); 
    [SPTPlaylistSnapshot playlistWithURI:[NSURL URLWithString:@"spotify:user:spotifizr:playlist:3bpGFVfycGnhtcEVb95G98"] 
          accessToken:session.accessToken 
           callback:^(NSError *error, SPTPlaylistSnapshot *object) { 
            NSLog(@"tracks on page 1 = %@", [object.firstTrackPage tracksForPlayback]); 

           }]; 
}]; 

Non so il motivo per cui sta tornando (function) nel progetto Swift invece di tutte le tracce.

Edit: Provato

println(playl.firstTrackPage.tracksForPlayback()) 

ma ora si torna a zero, anche se ho 50 tracce nella playlist.

+0

Verificare se 'playlists.items [0] .uri' è l'invio corretto, il cambiamento' (errore:! NSError, obj) 'da qualcosa come' (errore: NSError!, Obj: SPTPlaylistSnapshot) 'e finalmente cambia' var play1: SPTPlaylistSnapshot = obj' e commentaci. – eliasRuizHz

+2

@eliasRuizHz non ha funzionato, se hai del tempo libero puoi provare questo progetto di test che ho caricato https://github.com/spotify/ios-sdk/issues/377 – Ankit

risposta

2

è necessario includere uno o entrambi i seguenti nei vostri scopi richiesti, se non sono già qui: SPTAuthPlaylistReadScope e SPTAuthPlaylistReadPrivateScope consente l'accesso alle playlist pubbliche e private di un utente, rispettivamente.

Vedere l'Autenticazione e Scopes sezione del https://github.com/spotify/ios-sdk

+0

Ho avuto [SPTAuthPlaylistModifyPublicScope, SPTAuthUserReadPrivateScope] e ora aggiunto [ SPTAuthPlaylistReadScore] ma ancora non restituisce nulla sul mio progetto rapido. non so perché – Ankit