0

我正在开发一个 iOS 应用程序并切换到新的 Facebook iOS SDK 3.5.1。

在 iOS 6 上,使用系统内的 Facebook 集成,用户在我的应用程序中的登录过程按预期工作,在用户授予权限后调用完成处理程序块。

问题在于不使用此集成时,无论是否安装了 Facebook 应用程序。

当我调用“openActiveSessionWithReadPermissions”时,会立即以 FBSessionStateClosedLoginFailed 状态调用完成处理程序块,然后用户授予应用程序权限,当他返回应用程序时,不再调用完成处理程序,因此我不会收到用户通知登录。

我尝试了很多更改,从我的 facebook 用户允许的应用程序列表中删除该应用程序,从设备上卸载该应用程序等......但我不知道那里发生了什么......

非常感谢任何帮助!

感谢社区

4

1 回答 1

1

修复找到!这是针对处于相同情况的其他人。

我没有正确处理切换回我的应用程序,这就是为什么只有在使用快速应用程序切换(使用 Safari 或 Facebook 应用程序)时才会出现错误。从技术上讲,我应该在应用程序委托中实现以下两种方法:

- (void)applicationDidBecomeActive:(UIApplication *)application
{
    [FBSession.activeSession handleDidBecomeActive];
}

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
    return [FBSession.activeSession handleOpenURL:url];
}
于 2013-05-13T15:47:53.500 回答