[英]Parse facebook login issue?
我正在尝试使用Psrse实现Facebook登录。 如果用户在其iOS设置中具有Facebook登录名,则以下代码有效,但如果没有,则无效。
一旦我调用logInWithPermissions
Safari浏览器就会打开facebook,并且我的委托被nil用户调用,并且nil错误。 当用户登录safari时,它将带用户返回到应用程序,调用application:openURL:sourceApplication
,但永远不会触发logInWithPermissions
的完成
花费了3天的时间来解决这个问题。 任何建议,将不胜感激。 我已经将所有键也添加到了info.plist中
这里有一个不能解决问题的重复项: iOS / Swift:PFFacebookUtils.logInWithPermissions返回nil用户并返回错误
let permissionArray = ["public_profile", "email"]
PFFacebookUtils.logInWithPermissions(permissionArray) { user, error in
println(user)
println(error)
}
代理
func applicationDidBecomeActive(application: UIApplication) {
// Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
FBAppCall.handleDidBecomeActiveWithSession(PFFacebookUtils.session())
}
func application(application: UIApplication, openURL url: NSURL, sourceApplication: String, annotation: AnyObject?) -> Bool {
return FBAppCall.handleOpenURL(url, sourceApplication: sourceApplication, withSession: PFFacebookUtils.session())
}
编辑:
将此添加到application:openUrl:sourceApplication中,所有值都存在,并且在登录后有效。
println(url)
println(sourceApplication)
println(PFFacebookUtils.session())
导致问题的代码是这样的。 会话尚不存在,因此在没有任何异常日志的情况下打开Safari浏览器时,调用close会导致崩溃。 然后回到该应用程序,它将从头开始启动该应用程序,但是由于它会返回到登录页面,因此很难说清。
在调用Clode之前,需要检查会话是否存在。
func applicationDidEnterBackground(application: UIApplication) {
PFFacebookUtils.session().close()
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.