Обновление Spotify Session - PullRequest
       6

Обновление Spotify Session

0 голосов
/ 29 декабря 2018

Я пытаюсь использовать spotify внутри моего приложения для iOS, и пока все хорошо.После того, как пользователь войдет в систему и предоставит мне запрошенные области, я сохраню сеанс, и он сможет использовать все внутри приложения.Проблема возникает через 60 минут после истечения срока действия токена доступа.В этот момент я получаю 401, и я вызываю свою функцию, чтобы обновить мой токен доступа, но почему-то это не работает вообще.

private let sessionManager = AppDelegate().sessionManager

func initiateSpotifySession() {
    let requestedScopes: SPTScope = [.playlistModifyPublic, .playlistModifyPrivate, .ugcImageUpload]
    sessionManager.initiateSession(with: requestedScopes, options: .default)
}

func renewSpotifySession() {
    let session = loadSpotifySession()

    if session != nil {
        sessionManager.renewSession()
    } else {
        print("login required")
    }
}

initiateSpotifySession работает отлично, но как толькокогда я запрашиваю функцию sessionManager.renewSession(), она не работает.Ошибка не возникает, и следующий делегат также не вызывается:

func sessionManager(manager: SPTSessionManager, didRenew session: SPTSession) {
    print("running the renewal")
}

Моя консоль приложения iOS регистрирует что-то вроде;Task <C4C4A6C0-64D7-49EC-81AF-D6E581CD27AE>.<1> finished with error - code: -999, но это все.

Токен обновления доступен, и я могу его распечатать.Каким-то образом возобновление сессии просто не работает.

Сервер, который я использую для обновления и извлечения, - это 1-щелчок Heroku, предоставленный Spotify в их кратком руководстве.

1 Ответ

0 голосов
/ 30 декабря 2018

Хорошо, решил.Я сохранял свою сессию, но забыл переназначить ее на sessionManager.Таким образом, мой сеанс всегда был равен нулю, и при запросе на обновление отсутствовал токен обновления, из-за которого он не возвращал новый токен доступа.

Решено путем переназначения сеанса!

...