2016-04-29 9 views
1

Also baue ich momentan eine Playlist und einen Song-Abruf in meine App, und ich bin wirklich verwirrt über einige der Ergebnisse, die ich von der API bekomme. Es scheint Songs zurückzugeben, die auf Spotify nicht mehr vorhanden sind oder aus einer Playlist entfernt wurden.Spotify iOS SDK gibt Songs zurück, die nicht existieren? - Swift

eine Liste von Wiedergabelisten von einem Benutzer Abrufen funktioniert gut, aber nur für den Fall dieses Problem aus dem Weg ist, entsteht ich, dass Playlist des Tracks ziehen, hier ist der Code ich sie bekommen verwenden:

SPTPlaylistSnapshot.playlistWithURI(uri, accessToken: session.accessToken) { (error, playlistSnapshotOb) -> Void in 
     if let playlistSnapshot = playlistSnapshotOb as? SPTPlaylistSnapshot { 
      let itemz = playlistSnapshot.firstTrackPage.items //tracksForPlayback() 
      for item in itemz{ 
       let track = item as! SPTPlaylistTrack 
       let splice = "\(track.uri)" 

       let trackURI = splice.stringByReplacingOccurrencesOfString("spotify:track:", withString: "") 

       var displayArtist = String() 
       let artistz = track.artists 
       if artistz.count > 1{ 
        for i in 0...(artistz.count - 1){ 
         let itz = artistz[i] as! SPTPartialArtist 
         if i > 0 { 
          displayArtist += ", \(itz.name)" 

         }else{ 
          displayArtist += "\(itz.name)" 
         } 
        } 
        self.tracks.append(track.name) 
        self.ArtistObjects.append(displayArtist) 
        self.uriS.append(trackURI) 


       }else{ 
        let singularArtist = artistz[0] as! SPTPartialArtist 
        displayArtist = singularArtist.name 
        self.tracks.append(track.name) 
        self.ArtistObjects.append(displayArtist) 
        self.uriS.append(trackURI) 
       } 

zusätzlich unten ist ein Screenshot von dem Desktop Spotify App den eigentlichen Inhalt der Wiedergabeliste zeigt ich bin ziehen: Spotify per Desktop

Sie sehen werden, dass die Songs „große Bank Dank“ und „Light Day Remix“ sind nicht eigentlich auf dieser Playlist, aber aus irgendeinem Grund, auf meine app unten, wenn ich diese Playlist ziehen, hat es diese Songs aufgeführt: Spotify In My App

(Anscheinend kann ich nicht ein tatsächliches Bild Post wegen meiner rep - Entschuldigungen)

eine Ahnung, warum es dies tut?

+0

Haben Sie die Spotify-Dokumentation überprüft? Wie sieht der JSON aus? – nhgrif

Antwort

0

Die Tracks sind wahrscheinlich aus irgendwelchen Gründen nicht mehr verfügbar. Das ist ziemlich üblich. Standardmäßig zeigt der Spotify-Client keine nicht verfügbaren Titel in Wiedergabelisten an, aber in den Einstellungen gibt es einen Schalter, den Sie spiegeln können, so dass sie stattdessen als ausgegraut angezeigt werden.

Ich weiß nicht, über iOS SDK, aber sollte es entweder ein Attribut, das Sie die verfügbaren Märkte für die Spuren erzählen oder wenn es spielbar ist oder nicht, auf dem Land des Benutzers je in.

protokollierten

So funktioniert es in der Web-API, die ähnlich sein sollte. https://developer.spotify.com/web-api/track-relinking-guide/

+0

Anscheinend waren die fraglichen Songs in ** no markets ** erhältlich, aber die JSON Returns listeten sie immer noch als legitimen Track mit einem 'uri', legitimen' Album' mit eigener 'uri' und einzigartigem href Link und allem auf. Seltsam. – daulSwift