Spotify API para ios: descargue, guarde, acceda a las pistas desde ios spotify api

Me gustaría saber si es posible descargar pistas en dispositivos iphone / ipod / ipad utilizando el api de ios de spotify (CocoaLibSpotify IOS Library). Si es así también necesito acceder a ellos y jugar cuando quiera. Los usaré en mi aplicación más tarde.

Creo que podemos verificar el estado fuera de línea de la pista que se está reproduciendo usando sp_track_offline_status. Pero no puedo superar eso.

Cualquier fragmento de código de ejemplo sería de gran ayuda.

Simplificando el requisito: descargue y guarde las pistas de Spotify en dispositivos iOS

Como actualización, en respuesta a la respuesta de iKenndac, la propiedad offlineStatus se ha convertido en '1', lo que significa que el reproductor está sincronizado para el almacenamiento local.

SP_PLAYLIST_OFFLINE_STATUS_YES = 1, /// <La lista de reproducción está sincronizada con el almacenamiento local

1. ¿Eso significa que todas las pistas en la lista de reproducción se descargan?

No lo creo. Porque hay otros estados como sigue:

typedef enum sp_playlist_offline_status {
  SP_PLAYLIST_OFFLINE_STATUS_NO          = 0, ///< Playlist is not offline enabled
  SP_PLAYLIST_OFFLINE_STATUS_YES         = 1, ///< Playlist is synchronized to local storage
  SP_PLAYLIST_OFFLINE_STATUS_DOWNLOADING = 2, ///< This playlist is currently downloading. Only one playlist can be in this state any given time
  SP_PLAYLIST_OFFLINE_STATUS_WAITING     = 3, ///< Playlist is queued for download
} sp_playlist_offline_status;

Nunca había conseguido el estado fuera de línea 2 o 3.

También mi propiedad offlineDownloadProgress siempre me muestra '0'.
Tiene que aumentar de '0' a '1', si no estoy equivocado.

Fragmento de código:

[SPAsyncLoading waitUntilLoaded:playList 
                        timeout:kSPAsyncLoadingDefaultTimeout 
                           then:^(NSArray *loadedItems, NSArray *notLoadedItems) {    
    playList.markedForOfflinePlayback = YES;
    currentPlaylist = playList;
    statusTimer = [NSTimer scheduledTimerWithTimeInterval:0.3 target:self selector:@selector(checkOfflineStatus) userInfo:nil repeats:YES];

Estoy comprobando el estado de la siguiente manera:

-(void)checkOfflineStatus {

  NSLog(@"playlist offline progress is: %f",currentPlaylist.offlineDownloadProgress);

  NSLog(@"offline status: %d",currentPlaylist.offlineStatus);

}

La salida se ve así:

2012-07-06 20: 34: 05.891 Reproductor simple [6571: 10703] progreso fuera de línea de la lista de reproducción es: 0.000000

2012-07-06 20: 34: 05.892 Simple Player [6571: 10703] estado sin conexión: 1

2012-07-06 20: 34: 06.039 Reproductor simple [6571: 10703] progreso fuera de línea de la lista de reproducción es: 0.000000

2012-07-06 20: 34: 06.039 Reproductor simple [6571: 10703] estado sin conexión: 1

¿Qué puedo hacer ahora?

Respuestas a la pregunta(1)

Su respuesta a la pregunta