解析用于iOS 9的FacebookUtils失败,出现-canOpenURL错误

时间:2015-12-07 22:08:06

标签: ios facebook swift parse-platform parsefacebookutils

我已经使用Appcelerator移动应用程序了一段时间,但由于Facebook SDK的问题,我一直在寻找swift以便将应用程序移动到本机,并拥有更多控制权

所有应用程序目前都使用Parse作为后端,并通过Appcelerator Facebook模块登录Facebook。

但是,现在使用Appcelerator构建的所有iOS版本(自iOS9起)都无法登录,并出现以下错误:

-canOpenURL: failed for URL: "fbauth2:/" - error: "(null)"

我现在已经设置了两个空白的swift项目,一个用于使用Parse SDK,另一个用于使用Facebook SDK。这两个项目按预期运行,将对象保存到Parse,并分别使用Facebook登录。

Facebook项目登录并检索用户电子邮件和public_profile很好,虽然我仍然得到上述错误,但它不会影响登录过程或数据检索。

但是,我现在尝试合并这两个并使用Parse FacebookUtils框架,但我遇到了与Appcelerator应用程序相同的问题。我收到错误,然后什么也没收到。

在我看来,好像上面的错误导致FacebookUtils框架无声地失败,就像Appcelerator Facebook模块一样。

所以,我想我最初的问题是:

有人在iOS9上使用Parse FacebookUtils框架有运气吗?

如果其他人取得了成功,那么我可以进一步调查,我只是不要花费数小时的时间绕圈试图实施一些不可能的事情。

  • Xcode:7.1.1
  • ParseFacebookUtilsV4
  • Facebook LoginKit:V4.8.0

这是我的快速登录代码:

let readPermissions = ["public_profile","email","user_friends"]
PFFacebookUtils.logInInBackgroundWithReadPermissions(readPermissions, block: {
            (user: PFUser?, error: NSError?) -> Void in
            NSLog("Signing in")
            if let user = user {
                if user.isNew {
                    NSLog("User signed up through facebook")
                } else {
                    NSLog("User logged in through Facebook")
                }
            } else {
                NSLog("user cancelled login")
            }
        })

永远不会调用闭包,并记录"登录"永远不会输出。

如果有帮助我可以在Github上发布空白项目。

由于

1 个答案:

答案 0 :(得分:0)

我对Swift方面并不熟悉,但我的猜测是需要在你的info.plist中将Facebook应用程序列入白名单

请阅读此处的白名单部分,了解相关信息:https://developers.facebook.com/docs/ios/ios9