Bon*_*geh 2 facebook facebook-ios-sdk ios6
我知道这似乎是一个重复的问题,但我已经查看了与此相关的堆栈溢出的每一个问题,我仍然收到以下错误:
Error Domain=com.facebook.sdk Code=2 "The operation couldn’t be completed.
(com.facebook.sdk error 2.)" UserInfo=0x1ecbf8e0
{com.facebook.sdk:ErrorLoginFailedReason=com.facebook.sdk:ErrorLoginFailedReason}
Run Code Online (Sandbox Code Playgroud)
这是NSError的整个NSLog ..
我已按照教程进行身份验证;
我正在尝试使用以下代码进行身份验证;
[FBSession openActiveSessionWithReadPermissions:permissions
allowLoginUI:YES
completionHandler:
^(FBSession *session,
FBSessionState state, NSError *error) {
[self sessionStateChanged:session state:state error:error];
}];
Run Code Online (Sandbox Code Playgroud)
权限设置为nil.
我的app委托中也有以下设置
- (void)applicationDidBecomeActive:(UIApplication *)application
{
[FBSession.activeSession handleDidBecomeActive];
}
- (void)applicationWillTerminate:(UIApplication *)application
{
[FBSession.activeSession close];
}
- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication
annotation:(id)annotation {
return [FBSession.activeSession handleOpenURL:url];
}
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
return [FBSession.activeSession handleOpenURL:url];
}
Run Code Online (Sandbox Code Playgroud)
我注意到的一件事是,在我松开按钮后,错误消息立即触及我的屏幕,我将手机置于飞行模式并且速度相同,我认为该命令甚至没有离开手机并转到Facebook服务器开始..我肯定有网络连接,因为我在Facebook电话之前访问谷歌API时刻.
编辑:
如果我使用下面弃用的方法
[FBSession openActiveSessionWithPermissions:nil allowLoginUI:YES completionHandler:
^(FBSession *session,
FBSessionState state, NSError *error) {
[self sessionStateChanged:session state:state error:error];
}];
Run Code Online (Sandbox Code Playgroud)
我可以通过Facebook验证.
返回的会话是
<FBSession: 0x20038450, state: FBSessionStateOpen, loginHandler: 0x2006ba90, appID: 3895930xxxxxxxx, urlSchemeSuffix: , tokenCachingStrategy:<FBSessionTokenCachingStrategy: 0x1ed4ce30>, expirationDate: 2013-04-08 16:25:19 +0000, refreshDate: 2013-02-07 16:25:19 +0000, attemptedRefreshDate: 0001-12-30 00:00:00 +0000, permissions:(
)>
Run Code Online (Sandbox Code Playgroud)
与使用更新的3.1.1方法失败尝试的此会话进行比较
<FBSession: 0x1e8970b0, state: FBSessionStateClosedLoginFailed, loginHandler: 0x0, appID: 3895930xxxxxxxx, urlSchemeSuffix: , tokenCachingStrategy:<FBSessionTokenCachingStrategy: 0x1d5853b0>, expirationDate: (null), refreshDate: (null), attemptedRefreshDate: 0001-12-30 00:00:00 +0000, permissions:(
)>
Run Code Online (Sandbox Code Playgroud)
我假设在成功登录后创建了缺少的loginHandler对象.
虽然这允许我使用我的登录令牌继续开发我的应用程序的其余部分,但我无法接受现场发送我的应用程序.有谁知道为什么会发生这种情况/可能导致这种情况的原因?
小智 14
我在2个实例上遇到了同样的错误.
当你的iPhone中的开关没有在设置 - > Facebook - > YourAppName下打开,以允许你的应用程序使用Facebook帐户.在这种情况下,我正在显示一个警告,要求用户打开应用程序的开关.
当您的应用的捆绑包标识符与您在应用的"Facebook应用设置"页面上指定的捆绑包标识符不匹配时.
由于即使没有互联网连接也会发生错误,我认为应该是案例1.
| 归档时间: |
|
| 查看次数: |
4361 次 |
| 最近记录: |