Spotify API for ios: baixe, salve, acesse trilhas do ios spotify api

Gostaria de saber se o download de faixas para os dispositivos iphone / ipod / ipad é possível usando o ios ios api (CocoaLibSpotify IOS Library). Se assim for, eu também preciso acessá-los e jogar sempre que quiser. Eu vou usá-los no meu aplicativo mais tarde.

Acho que podemos verificar o status off-line da faixa que está sendo reproduzida usando sp_track_offline_status. Mas eu sou incapaz de passar por isso.

Qualquer fragmento de código de amostra seria de grande ajuda.

Simplificando o requisito: baixar e salvar as faixas spotify em dispositivos iOS

Como atualização, em resposta à resposta do iKenndac, a propriedade offlineStatus tornou-se '1', o que significa que o reprodutor é sincronizado para armazenamento local.

SP_PLAYLIST_OFFLINE_STATUS_YES = 1, /// <Lista de reprodução sincronizada com armazenamento local

1. Isso significa que todas as faixas da lista de reprodução foram baixadas?

Acho que não. porque existem outros estados da seguinte forma:

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;

Eu nunca tinha o status offline ou 2 ou 3.

Também minha propriedade offlineDownloadProgress está sempre me mostrando '0'.
Tem que aumentar de '0' para '1', se eu não estiver errado.

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];

Estou verificando o status da seguinte forma:

-(void)checkOfflineStatus {

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

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

}

A saída é assim:

2012-07-06 20: 34: 05.891 Simple Player [6571: 10703] lista de reprodução offline O progresso é: 0.000000

2012-07-06 20: 34: 05.892 Simple Player [6571: 10703] status offline: 1

2012-07-06 20: 34: 06.039 Simple Player [6571: 10703] lista de reprodução offline O progresso é: 0.000000

2012-07-06 20: 34: 06.039 Simple Player [6571: 10703] status offline: 1

O que posso fazer a seguir?

questionAnswers(1)

yourAnswerToTheQuestion