ios - How to properly login to spotify? -


i have application allow user stream song spotify. i'm using swift here. i'm trying allow user login spotify account, got nothing in return. app did open safari in order open spotify login page. i've done login still returns nothing.

i've make sure callbackuri same in spotify dev page, url schemes first section before colon of callback uri, , otherlinker filled -objc

here i've tried

login action:

    let spotifyauth = sptauth.defaultinstance()     spotifyauth.clientid = kspotifyclientid     spotifyauth.redirecturl = nsurl(string: kspotifycallbackurl)     spotifyauth.requestedscopes = [sptauthstreamingscope]      let spotifyloginurl : nsurl = spotifyauth.loginurl      uiapplication.sharedapplication().openurl(spotifyloginurl) 

my 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 } 

and viewdidload:

 nsnotificationcenter.defaultcenter().addobserver(self, selector: "updateafterfirstlogin", name: "spotifyloginsuccesfull", object: nil)     // additional setup after loading 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")      } 

so, missing something? suggestion great

make sure callback uri lowercase letters, had issues that.


Comments