解析facebook登录问题?
Posted
技术标签:
【中文标题】解析facebook登录问题?【英文标题】:Parse facebook login issue? 【发布时间】:2015-03-28 01:42:13 【问题描述】:我正在尝试使用 Psrse 实现 facebook 登录。 如果用户在他们的 ios 设置中有 facebook 登录,则以下代码有效,但如果他们没有,则它不起作用。
只要我打电话给logInWithPermissions
safari 就会打开 facebook,我的委托会被调用为 nil 用户,并且出现 nil 错误。当用户登录 safari 时,它会将用户带回应用程序,application:openURL:sourceApplication
被调用,但 logInWithPermissions
的完成永远不会被触发
花了 3 天时间试图解决这个问题。任何建议,将不胜感激。我已经将所有键添加到 info.plist 中
这里有一个不能解决问题的重复项:iOS/Swift: PFFacebookUtils.logInWithPermissions returns nil user and error
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())
【问题讨论】:
【参考方案1】:导致问题的代码是这样的。 会话不存在,因此在没有异常日志的情况下打开 safari 时调用 close 会导致崩溃。然后回到应用程序,它会从头开始应用程序,但由于它会回到登录页面,所以很难说。
调用clode之前需要检查session是否存在。
func applicationDidEnterBackground(application: UIApplication)
PFFacebookUtils.session().close()
【讨论】:
以上是关于解析facebook登录问题?的主要内容,如果未能解决你的问题,请参考以下文章