我正在开发允许用户通过Facebook登录的应用程序(使用Facebook )。当用户已经在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];
}];我已经尝试将权限设置为零数组--没有任何改变。
日志是:
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的错误也会出现。我已经阅读了几乎所有与此错误相关的主题.
我的脚步是:
[FBSession openActiveSessionWithReadPermissions:permissions改为[FBSession openActiveSessionWithPermissions:permissions- -它可以工作。但这是不可取的。发布于 2013-12-18 12:19:19
是的,在你看到这个错误后,如果你去设置,你会看到这个应用程序的设置是“关闭”。但这种情况下的问题是,用户从未被提示允许访问--也就是说,设置在第一次访问时被自动关闭。如果询问用户,那当然是可以理解的,但事实并非如此(就好像SDK静默地自动按下“不允许用户”)。所以这才是个问题。
在进一步阅读之前,我想指出的是,一旦设置好了设置,就不能简单地重复测试它的过程,因为一旦设置好了,它就永远不会问用户(即使删除和重新安装应用程序也没有帮助)。要测试此问题,您需要先通过设置-> General -> reset -> Reset Location & Privacy重新设置权限,然后再尝试复制该权限。
通过测试,我发现如果您第一次请求的权限中有offline_access,那么它将给出这个登录错误(而不是提示用户并将权限设置为OFF)。SDK不检查并告诉您不允许使用此权限;它只是无法登录。
发布于 2014-10-08 20:53:04
这就是我如何让我的工作-传递给它一个空的权限数组。
NSArray *permissionsArray = @[];但是,请确保您拥有在我的facebook应用程序页面中设置的权限。我只需要默认的,所以我没事。
我有种感觉,facebook改变了服务器端代码。我的应用程序运行良好,然后我的FB登录中断了。
发布于 2015-01-15 03:51:00
我认为这些代码很模糊,会有很多不同的东西。
最后,我发现问题在于,当我为应用程序商店做准备时,我的应用程序包ID还没有更新。登录到你的Facebook开发者帐户,并确保应用程序ID是正确的。
https://stackoverflow.com/questions/20657780
复制相似问题