我已经将 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 登录工具包: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 上发布空白项目。
谢谢
保罗