请再次登录到这个应用程序重新与Facebook连接
我们正在使用:
Parse - 1.8.3 FBSDK。* - 4.6.0 ParseUI - 1.1.6 ParseFacebookUtilsV4 - 1.8.3 IOS Target - 9.0
这是我们的问题。 用户已登录到应用程序。 他们进入Facebook.com->账户 - >设置并取消授权应用程序(完全删除)。
当用户再次启动我们的应用程序时,他们会看到来自FBSDK的对话框,上面写着“请再次登录到此应用程序以重新与Facebook连接”(选项为“可以并取消”)。
我已经搜索了/所以这个问题,并看到其他人,但在他们的情况下,它是略有不同(也许功能)。 这是因为,当您在该对话框中单击“确定”时,它什么也不做。 看来,点击确定应该去做一个登录流(这将是恒星),但再次 - 它什么都不做。
我使用了FBSDK广播的通知,并可以看到我收到了以下通知:
com.facebook.sdk.FBSDKAccessTokenData.FBSDKAccessTokenDidChangeNotification
作为错误代码190和子代码458的结果。
我的问题是两部分:1)如何在FBSDK对话框中获取我的“确定”按钮,该对话框会自动显示,以便用ok按钮实际执行某些操作? 2)我如何手动(假设上面的按钮由于某种原因不起作用)测试accessToken状态并重新授权用户?
这似乎是必须有一个简单的解决方案,我已经花了几天的时间,并无法领先于此。
感谢您的帮助或指导!
我遇到了类似的问题(它与Parse无关)。 以下是我对你提出的两个问题的回答:
看起来FBSDK对话框的确定按钮不起作用,原因如下:
Attempt to present <FBSDKContainerViewController: 0x126b222a0> on
<FBSDKContainerViewController: 0x126a26d10> whose view is not in the window hierarchy!
至少我在Xcode控制台中看到上述警告,当我尝试在我的应用程序(连接到Macbook的设备上)登录Facebook时,我的尝试失败。 我没有找到解决这个问题的方法。 但是我找到了避免FBSDK对话框的方法。 看下一个项目。
我通过请求关于FB用户的信息来测试accessToken的有效性。 如果请求失败并出现错误,则可能意味着accessToken无效。 这是一个代码示例:
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
initWithGraphPath:@"me" parameters:@{@"fields": @"id, first_name, last_name"}];
// The next line is important.
// It prevents FB SDK from handling the error automatically
// and allows you to handle the error yourself.
// In this way you avoid(!) the FBSDK dialog that says
// "Please login to this app again to reconnect with Facebook".
[request setGraphErrorRecoveryDisabled:YES];
[request startWithCompletionHandler:
^(FBSDKGraphRequestConnection *connection, id result, NSError *error){
if (error) {
// An error occurred. Most likely the accessToken is not valid.
// Start the FB log-in process to obtain a valid token.
}else{
// Everything's all right. Go on.
}
}];
上一篇: Please login to this app again to reconnect with Facebook