使用 SDK 3.5 在 iOS 上连接 Facebook

Posted

技术标签:

【中文标题】使用 SDK 3.5 在 iOS 上连接 Facebook【英文标题】:Facebook connect on iOS with SDK 3.5 【发布时间】:2013-05-11 13:30:05 【问题描述】:

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

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

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

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

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

非常感谢任何帮助!

感谢社区

【问题讨论】:

【参考方案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];

【讨论】:

以上是关于使用 SDK 3.5 在 iOS 上连接 Facebook的主要内容,如果未能解决你的问题,请参考以下文章

Facebook SDK 3.5 - iOS 5 上的共享对话框

iOS 5 中的 Facebook SDK 3.5 需要 Social.framework

使用 iOS 版 Facebook SDK 3.5 时更改键盘外观

ios 应用程序的用户是不是可以使用 facebook-sdk 在 facebook 上喜欢 URL?

Facebook iOS SDK 3.5 模式提要对话框在 iPhone 中加载为空

iOS Facebook sdk 3.5 openActiveSessionWithReadPermission 错误代码 2