使用session处理facebook iOS中的取消按钮

kee*_*een 0 iphone facebook facebook-graph-api ios facebook-ios-sdk

我试图搜索这个,但找不到任何有用的东西.

[FBSession setActiveSession:[[FBSession alloc] initWithPermissions:[NSArray arrayWithObjects:@"publish_actions,read_stream,user_hometown,user_birthday,email", nil]]];

    [[FBSession activeSession] openWithBehavior:FBSessionLoginBehaviorForcingWebView completionHandler:
    ^(FBSession *session,FBSessionState state,NSError *error)
    {
        if(state == FBSessionStateOpen)
       {
             // use user's detail and post on Facebook
       }
    }];
Run Code Online (Sandbox Code Playgroud)

现在这对我来说很好.但是如果用户在登录Facebook之前按下关闭/取消按钮会怎样.如果用户按下取消按钮,我需要执行一组语句.我怎样才能做到这一点.任何帮助,将不胜感激.

Ale*_*lex 5

您可以使用Facebook错误类别并处理错误,请参阅此链接

[FBSession openActiveSessionWithPublishPermissions:permissions defaultAudience:FBSessionDefaultAudienceEveryone allowLoginUI:YES completionHandler:^(FBSession *session, FBSessionState status, NSError* error){

        if(!error){

            //success do something
        }
        else{

            //Error 
            if([FBErrorUtility errorCategoryForError:error] == FBErrorCategoryUserCancelled){

                //user have pressed on cancel/close button
            }
            else {

                //loging failed 
            }
        }
    }];
Run Code Online (Sandbox Code Playgroud)