0

There is a facebook button in my app in login screen ,when user click on this button facebook login page open in browse and after successful login application redirect and display next page . Please hep mw with example .

IOS version : 5.0 ARC project

Thank You

4

3 回答 3

1

在你的 AppDelegate 中修改方法

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url  
{

    NSString *urlString = [url absoluteString];

    if ([urlString hasPrefix:@"fb://xxxxxxxxxxxx"]) {
        [FBSession.activeSession handleOpenURL:url];
        returnValue = YES;
    }

    return returnValue;
}  

xxx 将是你的 facebookappid

但请记住,这在 IOS 6 中不会触发。在 ios 6 中,将触发以下方法。

- (BOOL)application:(UIApplication *)application
            openURL:(NSURL *)url
  sourceApplication:(NSString *)sourceApplication
         annotation:(id)annotation {

   return [FBSession.activeSession handleOpenURL:url];
}

如果您的会话状态由于登录或断开连接而改变 FBsession 调用以下方法,您应该处理您的情况。

- (void)sessionStateChanged:(FBSession *)session
                  state:(FBSessionState)state
                  error:(NSError *)error {
switch (state) {
    case FBSessionStateOpen: {
        //update permissionsArrat
        [self retrieveUSerPermissions];

        if (!needstoReopenOldSession) {
            //First User information
            [self getUserInformation:nil];
        }

        NSNotification *authorizationNotification = [NSNotification notificationWithName:facebookAuthorizationNotification object:nil];
        [[NSNotificationCenter defaultCenter] postNotification:authorizationNotification];

    }
    case FBSessionStateClosed: {
        break;
    }
    case FBSessionStateClosedLoginFailed: {
        [FBSession.activeSession closeAndClearTokenInformation];
        break;
    }
    default:
        break;
}

if (error) {
    NSNotification *authorizationNotification = [NSNotification notificationWithName:faceBookErrorOccuredNotification object:nil];
    [[NSNotificationCenter defaultCenter] postNotification:authorizationNotification];
}

}

于 2012-10-12T07:00:55.597 回答
1

顺便说一句,你们可以在这里访问我的回复Native iOS Facebook SSO won't return to app

在我的应用程序中,我必须同时实现 facebook 和 googleplus,最后我成功了。我不认为 facebook 开发者应用程序门户需要任何编辑而不是获取 appid。我制作了三个使用 facebook 登录的应用程序,其中一个在 facebook 开发者应用程序中没有iOS Native App设置,但该应用程序的登录部分也运行良好。

于 2014-01-06T13:04:24.487 回答
0

使用这个官方教程,你会没事的。也请参阅您的问题的二维点。

于 2012-10-12T08:04:53.857 回答