У меня есть приложение, которое позволяет пользователям проигрывать песни из spotify. Поэтому для достижения этого мне нужно периодически обновлять сеанс, когда пользователи хотят потоковать песню из spotify. Я использую последние spotify sdk (beta-9), и в настоящее время я следую учебнику от https://www.youtube.com/watch?v=GeO00YdJ3cE. В этом уроке нам нужно обновить токен swap, но когда я посмотрел с https://developer.spotify.com/technologies/spotify-ios-sdk/tutorial/, нет необходимости обновлять токен.Как продлить сеанс оповещения?
и я в конечном итоге не используя маркер подкачки, когда я обновить мою сессию, то играть песню с новой сессией, я получил ниже ошибок:
Error Domain=com.spotify.ios-sdk.playback Code=8 "Login to Spotify failed because of invalid credentials." UserInfo=0x7f840bf807b0 {NSLocalizedDescription=Login to Spotify failed because of invalid credentials.}
И я использую этот код, приведенный ниже, для обновления моего сессия:
let userDefaults = NSUserDefaults.standardUserDefaults()
if let sessionObj : AnyObject = NSUserDefaults.standardUserDefaults().objectForKey("spotifySession") {
let sessionDataObj : NSData = sessionObj as! NSData
let session = NSKeyedUnarchiver.unarchiveObjectWithData(sessionDataObj) as! SPTSession
self.playUsingSession(session)
if !session.isValid() {
SPTAuth.defaultInstance().renewSession(session, callback: { (error : NSError!, newsession : SPTSession!) -> Void in
if error == nil {
let sessionData = NSKeyedArchiver.archivedDataWithRootObject(session)
userDefaults.setObject(sessionData, forKey: "spotifySession")
userDefaults.synchronize()
self.session = newsession
self.playUsingSession(newsession)
}else{
println("renew session having problerm >>>>> \(error)")
}
})
}else{
println("session is still valid")
self.playUsingSession(session)
}
}else{
spotifyLoginButton.hidden = false
}
и ниже код, чтобы поток Spotify песни:
func playUsingSession(sessionObj:SPTSession!){
if spotifyPlayer == nil {
spotifyPlayer = SPTAudioStreamingController(clientId: kSpotifyClientID)
}
spotifyPlayer?.loginWithSession(sessionObj, callback: { (error : NSError!) -> Void in
if error != nil {
println("enabling playback got error : \(error)")
return
}
var spotifyTrackUri : NSURL = NSURL(string: "spotify:track:3FREWTEY2uFxOorJZMmZPX")!
self.spotifyPlayer!.playURIs([spotifyTrackUri], fromIndex: 0, callback: { (error : NSError!) -> Void in
if error != nil {
println("\(error)")
}
})
})
}
ли мне еще нужно обновить токен для последнего sdk? Или что-то не хватает в моем коде?
Как можно использовать. Код herokuapp в приложении iOS? – Parthpatel1105
Это довольно удивительно. Большое вам спасибо за это! но я получаю: 'Текст JSON не начинался с массива или объекта и не позволял фрагментам не задаваться.' любая идея? –
'Используя URL-адрес созданного сервера, добавьте следующее при настройке вашего SPTAuth.defaultInstance():' can u plz объясните подробнее – Jack