Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/109.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/43.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS facebook通过自定义视图登录(不通过外部浏览器)_Ios_Iphone_Objective C_Facebook_Facebook Ios Sdk - Fatal编程技术网

iOS facebook通过自定义视图登录(不通过外部浏览器)

iOS facebook通过自定义视图登录(不通过外部浏览器),ios,iphone,objective-c,facebook,facebook-ios-sdk,Ios,Iphone,Objective C,Facebook,Facebook Ios Sdk,我对客户端有特殊要求,他希望能够从应用程序本身内部登录到Facebook,我的意思是他不希望应用程序打开外部浏览器,用户在其中输入他的详细信息,他只想使用带有用户名/手机和密码字段的本机iOS视图 我已经尝试过谷歌搜索,但找不到任何解决方案,所以我只想知道这是可能的,如果是的话,怎么做 提前谢谢 问候,, 马赫什 使用以下方法: -(void)openFacebookAuthentication { NSArray *permission = [NSArray arrayWithObje

我对客户端有特殊要求,他希望能够从应用程序本身内部登录到Facebook,我的意思是他不希望应用程序打开外部浏览器,用户在其中输入他的详细信息,他只想使用带有用户名/手机和密码字段的本机iOS视图

我已经尝试过谷歌搜索,但找不到任何解决方案,所以我只想知道这是可能的,如果是的话,怎么做

提前谢谢

问候,,
马赫什

使用以下方法:

-(void)openFacebookAuthentication
{
    NSArray *permission = [NSArray arrayWithObjects:kFBEmailPermission,kFBUserPhotosPermission, nil];

    FBSession *session = [[FBSession alloc] initWithPermissions:permission];

    [FBSession setActiveSession: [[FBSession alloc] initWithPermissions:permission] ];

    [[FBSession activeSession] openWithBehavior:FBSessionLoginBehaviorForcingWebView completionHandler:^(FBSession *session, FBSessionState status, NSError *error) {

        switch (status) {
            case FBSessionStateOpen:
                [self getMyData];
                break;
            case FBSessionStateClosedLoginFailed: {
                // prefer to keep decls near to their use
                // unpack the error code and reason in order to compute cancel bool
                NSString *errorCode = [[error userInfo] objectForKey:FBErrorLoginFailedOriginalErrorCode];
                NSString *errorReason = [[error userInfo] objectForKey:FBErrorLoginFailedReason];
                BOOL userDidCancel = !errorCode && (!errorReason || [errorReason isEqualToString:FBErrorLoginFailedReasonInlineCancelledValue]);


                if(error.code == 2 && ![errorReason isEqualToString:kFBSdkUserLoginFail]) {
                    UIAlertView *errorMessage = [[UIAlertView alloc] initWithTitle:kFBAlertTitle
                                                                           message:kFBAuthenticationErrorMessage
                                                                           delegate:nil
                                                                           cancelButtonTitle:kOk
                                                                           otherButtonTitles:nil];
                    [errorMessage performSelectorOnMainThread:@selector(show) withObject:nil waitUntilDone:YES];
                    errorMessage = nil;
                    }
                }
                break;
                // presently extension, log-out and invalidation are being implemented in the Facebook class
            default:
                break; // so we do nothing in response to those state transitions
        }
    }];
    permission = nil;
}

这是我的帖子:

看看这个链接,它和你的问题有关
FBSessionLoginBehaviorForcingWebView
enum值是您问题的答案可能与Thank Divya重复,它正在进行初始测试。将很快与原始应用程序集成。