我已经使用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框架有运气吗?
如果其他人取得了成功,那么我可以进一步调查,我只是不要花费数小时的时间绕圈试图实施一些不可能的事情。
这是我的快速登录代码:
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上发布空白项目。
由于
保
答案 0 :(得分:0)
我对Swift方面并不熟悉,但我的猜测是需要在你的info.plist中将Facebook应用程序列入白名单
请阅读此处的白名单部分,了解相关信息:https://developers.facebook.com/docs/ios/ios9