3 Stimmen

libspotify auf iOS oder MacOS: Teile der SPSession können nicht abgerufen werden

Ich weiß nicht, ob jemand von euch bereits mit der kürzlich verfügbaren API für Spotify gespielt hat, aber es gibt etwas, das mich stört.

Sobald Sie die -(void)sessionDidLoginSuccessfully:(SPSession *)aSession Rückruf, ist so gut wie keine Information der SPSession Objekt.

Aber ein wenig Code-Inspektion auf der CocoaLibSpotify scheint dies eigentlich normal, die Daten werden später abgerufen.

Das Problem ist, dass diese Informationen anscheinend nie abgerufen werden. Ich habe ein ähnliches Verhalten wie ihr "Guess the Intro" Beispiel verfolgt und wenn ich:

- (void)sessionDidLoginSuccessfully:(SPSession *)aSession
{
    // trying to fetch another piece of info about the user
    userTopList = [[SPToplist toplistForCurrentUserInSession:session] retain];
    [self waitForReadiness];
}

- (void)waitForReadiness
{
    // Event after 10 seconds userPlaylists is still nil
    if (![[[SPSession sharedSession] userPlaylists] isLoaded])
    {
        playlistsAttempts++;

        if (playlistsAttempts < 10) 
        {
            [self performSelector:_cmd withObject:nil afterDelay:1.0];
            return;
        }
    }
    // However, after only 1 second, userTopList is fetched
    if (userTopList.isLoaded )
        { /* do stuff */ }

}

Grundsätzlich ist die userTopList nach weniger als einer Sekunde korrekt gesetzt wird, während die Hauptsitzung userPlaylists wird weiterhin nil .

In dem genannten Beispiel geschieht das Gleiche.

Ich glaube also, dass die Bibliothek noch nicht ganz so weit ist, aber ich würde mich über Ihre Anregungen freuen.

3voto

Xalior Punkte 141

Ich hatte das gleiche Problem und fand, dass der folgende Patch mein Problem löste:

https://github.com/spotify/cocoalibspotify/commit/2c9b85e306a8849675e5b30169481d82dbeb34f5

Ich hoffe, das hilft.

-Dx

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X