iOS Facebook SDK错误域com.facebook.sdk代码2和代码7

前端之家收集整理的这篇文章主要介绍了iOS Facebook SDK错误域com.facebook.sdk代码2和代码7前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在开发允许用户通过Facebook登录的应用程序(使用Facebook SDK).当用户已经在iPhone设置中登录Facebook时出现错误.如果没有 – 都能正常工作.
NSArray *permissions = [[NSArray alloc] initWithObjects:@"email",nil];
    [FBSession openActiveSessionWithReadPermissions:permissions
                                       allowLoginUI:YES
                                  completionHandler:
     ^(FBSession *session,FBSessionState state,NSError *error) {
         [self fbSessionStateChanged:session state:state error:error];
     }];

我已经设法将权限设置为nil数组 – 没有改变.

日志是:

Error Domain=com.facebook.sdk Code=2 "The operation couldn’t be completed.
(com.facebook.sdk error 2.)" UserInfo=0x1552c6c0 
{com.facebook.sdk:ErrorLoginFailedReason=com.facebook.sdk:SystemLoginDisallowedWithoutError,com.facebook.sdk:ErrorSessionKey=<FBSession: 0xabe8100,state: FBSessionStateClosedLoginFailed,loginHandler: 0x0,appID: APPIDHERE,urlSchemeSuffix:,tokenCachingStrategy:<FBSessionTokenCachingStrategy: 0x14b8f3d0>,expirationDate: (null),refreshDate: (null),attemptedRefreshDate: 0001-12-30 00:00:00 +0000,permissions:(null)>}

有时,出现代码7的错误.我已经阅读了几乎所有与这个错误有关的话题.

我的步骤是:

>将.plist文件中的应用程序ID与FB bundle id进行比较.他们是一样的!!!
>我的应用程序不在沙箱模式!
>如果我从[FBSession openActiveSessionWithReadPermissions:权限]更改为[FBSession openActiveSessionWithPermissions:permissions-它可以工作.但它已被弃用.

解决方法

是的,看到此错误后,如果您进入设置,您会看到这个应用程序的设置被关闭.但是在这种情况下,问题是用户从来没有被提示允许访问 – 即在第一次访问时设置被自动关闭.如果用户被问到,那么当然这是可以理解的,但事实并非如此(就好像SDK默默地按自己的不要允许).这就是为什么这是一个问题.

在您进一步阅读之前,我想注意一旦设置设置,您不能简单地重复该过程进行测试,因为一旦设置设置,它将永远不会询问用户(即使删除并重新安装应用程序也没有帮助).要测试此问题,您需要重新设置权限,方法是转到设置 – >一般 – >重置 – >重置位置&隐私之前,您可以尝试再次复制.

从测试中,我发现如果您在第一次请求的权限中有offline_access,那么它将会提供此登录错误(并且不提示用户并将权限设置为OFF). SDK不会检查并告知您不允许此权限;它只是无法登录.

猜你在找的iOS相关文章