У меня есть приложение, которое позволяет пользователю транслировать песню из spotify. Я использую быстро. Я пытаюсь разрешить пользователю входить в систему с помощью учетной записи spotify, но я ничего не получил взамен. В моем приложении открылось сафари, чтобы открыть страницу входа на сайт. Я сделал логин, но ничего не возвращает.Как правильно войти, чтобы определить?
Я убедиться, что мой callbackuri точно так же, как и в моем Spotify странице Дев, мои схемы URL-адрес является первым разделом перед двоеточием моего обратного вызова Урия, и мой otherlinker наполнен -ObjC
Вот что я пытался
Войти действие:
let spotifyAuth = SPTAuth.defaultInstance()
spotifyAuth.clientID = kSpotifyClientID
spotifyAuth.redirectURL = NSURL(string: kSpotifyCallBackUrl)
spotifyAuth.requestedScopes = [SPTAuthStreamingScope]
let spotifyLoginUrl : NSURL = spotifyAuth.loginURL
UIApplication.sharedApplication().openURL(spotifyLoginUrl)
мой AppDelegate:
func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject?) -> Bool{
println("rene jos1")
if (SPTAuth.defaultInstance().canHandleURL(url)) {
println("rene jos2")
SPTAuth.defaultInstance().handleAuthCallbackWithTriggeredAuthURL(url, callback: { (error : NSError?, session : SPTSession?) -> Void in
println("rene jos3")
if error != nil {
println("Auth error : \(url.description)")
return
}
let userDefaults = NSUserDefaults.standardUserDefaults()
let sessionData = NSKeyedArchiver.archivedDataWithRootObject(session!)
userDefaults.setObject(sessionData, forKey: "spotifySession")
userDefaults.synchronize()
NSNotificationCenter.defaultCenter().postNotificationName("spotifyLoginSuccesfull", object: nil)
})
return true
}
if (FBSDKApplicationDelegate.sharedInstance().application(application, openURL: url, sourceApplication: sourceApplication, annotation: annotation)) {
return true
}
return false
}
и мой viewdidload:
NSNotificationCenter.defaultCenter().addObserver(self, selector: "updateAfterFirstlogin", name: "spotifyLoginSuccesfull", object: nil)
// Do any additional setup after loading the view.
spotifyLoginButton.hidden = true
let userDefaults = NSUserDefaults.standardUserDefaults()
if let sessionObj : AnyObject = NSUserDefaults.standardUserDefaults().objectForKey("spotifySession") {
println("rene 2")
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
let sessionData = NSKeyedArchiver.archivedDataWithRootObject(session)
userDefaults.setObject(sessionData, forKey: "spotifySession")
userDefaults.synchronize()
self.session = newsession
self.playUsingSession(newsession)
println("rene 3")
})
}else{
println("error refreshing new spotify session")
}
}else{
spotifyLoginButton.hidden = false
println("rene 4")
}
Итак, я-то отсутствует? Любые предложения были бы замечательными
В чем печатается заявление? – myles
@myles Я получил >> Ошибка домена = com.spotify.ios-sdk.playback Код = 8 «Ошибка входа в Spotify из-за недопустимых учетных данных». UserInfo = 0x7f840bf807b0 {NSLocalizedDescription = Ошибка входа в Spotify из-за недопустимых учетных данных.} –