4

我正在开发一个使用 FB 登录的应用程序。对于从 facebook 登录,我使用的是 FBGraph,如果用户在其帐户中禁用了安全登录,它可以正常工作,但是如果用户启用了安全登录,那么它会给出以下消息..

在此处输入图像描述

这是我用于登录的代码

self.fbGraph = [[FbGraph alloc] initWithFbClientID:client_id];

    [fbGraph authenticateUserWithCallbackObject:self andSelector:@selector(fbGraphCallback:)
                         andExtendedPermissions:@"user_photos,user_videos,publish_stream,offline_access,user_checkins,friends_checkins"];

编辑:

根据当前答案的建议,我在我的 FBGraph.m 中添加了以下代码,但是使用此代码,我得到的令牌为零。

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{

    NSLog(@"\n\n\nrequest.URL.relativeString = %@\n\n\n",request.URL.relativeString);
    if([request.URL.relativeString hasPrefix:@"https://www.facebook.com/connect/login_success.html" ]||[request.URL.relativeString hasPrefix:@"http://www.facebook.com/connect/login_success.html" ]||[request.URL.relativeString hasPrefix:@"http://m.facebook.com/connect/login_success.html" ])
    {
        [self.webView stopLoading];
        [[self.webView superview] removeFromSuperview];

        //tell our callback function that we're done logging in :)
        if ( (callbackObject != nil) && (callbackSelector != nil) ) {
            [callbackObject performSelector:callbackSelector];
        }

        return NO;
    }
    return YES;
}

我也变了

self.redirectUri = @"http://www.facebook.com/connect/login_success.html";

self.redirectUri = @"http://m.facebook.com/connect/login_success.html";

但是还是没有成功......

请告诉我FB登录的解决方案.....

谢谢...........

4

3 回答 3

2

您应该使用 Facebook 的官方 SDK。

从这里下载 - Facebook SDK

脸书

适用于 iOS 的 Facebook SDK 3.8 是一个小更新,增加了 XCode 5 和 iOS 7 支持、稳定性修复、自动权限刷新以及向 (F​​BRequestConnection) 指定批处理请求参数的能力。

于 2013-10-15T10:26:06.493 回答
1

更改网址:

   self.redirectUri = @"http://www.facebook.com/connect/login_success.html";

FBGraph.m 到

   self.redirectUri = @"https://m.facebook.com/connect/login_success.html";  

并检查。

于 2013-10-07T12:51:20.453 回答
0

这不是错误,而只是来自 Facebook 的安全警告。我已经在我的应用程序中解决了它以逃避这种情况。

检查 FbGraph.m 文件中的以下方法

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{

    if([request.URL.relativeString hasPrefix:@"https://www.facebook.com/connect/login_success.html" ])
         self.webView.hidden=TRUE;
    return YES;
}

检查它当前是否存在于文件中。如果没有,那就去吧。

于 2013-05-30T08:44:36.790 回答