- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
在我的应用程序中,我通过 Parse 的 PFFFacebookUtil 类登录用户。如果用户存在于手机上(即在“设置”>“Facebook”中登录到 FB),那么一切都会按预期进行。
但如果他们未通过设置登录,则用户将被带到 WebView 以登录。用户输入凭据后,返回 block 应该接收用户或一个错误,但在这种情况下,用户和错误 都是零。
let permissionsArray = ["user_about_me", "email"];
PFFacebookUtils.logInWithPermissions(permissionsArray, block: {
(user: PFUser!, error: NSError!) -> Void in
if user != nil {
//successful login
} else if error != nil{
//unsuccessful login
} else {
//this is what I get
}
}
我们目前正在运行 Parse 1.4.2
最佳答案
问题是我没有在 AppDelegate 调用中调用 FBAppCall.handleOpenURL():
application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject?)
当我从网络认证回来时。通过不调用 FBAppCall.handleOpenURL(),Parse 认为我们取消了身份验证。 Parse 文档指出“用户和错误均为零 - 如果用户通过切换回应用程序取消身份验证。”
此方法应该调用 FBAppCall.handleOpenURL 以将身份验证传递回应用程序。在我的例子中,我也使用这个调用进行深度链接,但我没有正确处理逻辑。我最初是在检查 sourceApplication 对象以查看它是否是“com.facebook.Facebook”。如果它返回 true,那么我将调用 FBAppCall.handleOpenURL()。今天调试时,我注意到源应用程序实际上是“com.apple.mobilesafari”。 检查 sourceApplication 无论如何都不是最好的检查方法(尝试 url.host 之类的东西),但在这种情况下,这就是问题所在。
这是固定的代码片段:
func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject?) {
if (url.host == DEEP_LINKING_HOST) {
//Deep linking code here...
} else if sourceApplication == "com.apple.mobilesafari" {
return FBAppCall.handleOpenURL(url, sourceApplication: sourceApplication, withSession: PFFacebookUtils.session())
}
}
这里的要点是我没有调用 FBAppCall.handleOpenURL()。结果,应用程序认为我取消了登录并给了我一个 nil user 和错误。
关于iOS/Swift : PFFacebookUtils. logInWithPermissions 返回零用户和错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27387877/
我正在将我的 iOS 应用程序与 Parse 和 Facebook 集成。它在我的 iPhone 4s 上运行良好——运行 iOS 6——但是当我在我的 xCode 5 模拟器上尝试测试帐户时它失败了
我收到此错误消息以响应以下代码。我知道这通常发生在需要显式转换类型时,但此处的权限数组被显式定义为 AnyObject[]?,这是正确的参数类型。 编辑:使用 Facebook 登录进行解析(文档:h
我正在使用 Parse 开发一个 iOS 应用程序,并实现 Twitter 和 Facebook 登录。我的代码如下; var permissions = NSArray(array: ["user_
我正在使用 facebook login 测试一个应用程序。我制作了一个按钮,当我点击它时,Facebook 页面出现,输入密码后它消失了。问题是来自 [PFFacebookUtils loginWi
在我的应用程序中,我通过 Parse 的 PFFFacebookUtil 类登录用户。如果用户存在于手机上(即在“设置”>“Facebook”中登录到 FB),那么一切都会按预期进行。 但如果他们未通
尝试使用 facebook SDK 进行简单的 react native 应用程序,出现以下错误: undefined is not an object (evaluating 'LoginManag
我尝试使用 Facebook 用户 Parse 登录。每次使用 logInWithPermissions 时,权限都是 nil。以下代码始终产生相同的输出: [PFFacebookUtils logI
在适用于 iOS 的 Parse 版本 1.6.1 中启用(新)本地数据存储后,PFFacebookUtils loginWithPermission 中的 block 永远不会被调用。 [Parse
将 react-native 从 0.56 升级到 0.59.8(使用 FBSDK 0.10.1)后,facebook 登录不再适用于 android。 当我填写 Fb 登录表单并继续时,LoginM
我是一名优秀的程序员,十分优秀!