Facebook SDK 问题

Posted

技术标签:

【中文标题】Facebook SDK 问题【英文标题】:Facebook SDK issue 【发布时间】:2013-01-01 14:55:25 【问题描述】:

我在我的 iPhone 应用程序中创建了一个 facebook 身份验证,我遵循了 this 教程 为了那个原因。但是除了一行代码,就是

- (void)applicationDidBecomeActive:(UIApplication *)application

    [FBSession.activeSession handleDidBecomeActive];

当我使用这个时,它是一个错误显示:

“FBSession”没有可见的@interface 声明选择器 handleDidBecomeActive

但是当我点击登录按钮时,身份验证仍然可以正常工作,问题是我的身份验证窗口只显示“基本信息”-我还需要访问“代表您的帖子”

      My authentication window is             I need to authenticate 
              like this                    like this (as in FB tutorial)

无法找出错误,是在 Facebook 中创建应用程序还是我在 iPhone 编码中的身份验证错误。如果有人得到错误,请帮助我澄清

【问题讨论】:

您使用的是哪个 facebook SDK 版本?如果我没记错的话,handleDidBecomeActive 是 Facebook SDK 3.1 中的新功能。 是的..我正在使用 Facebook ios 6 SDK(Facebook SDK 3.1.) 我不能重复你的问题handleDidBecomeActive 使用 3.1 SDK,我使用它的测试项目编译没有任何警告或错误只导入 <FacebookSDK/FacebookSDK.h> 所以这可能是在developer.facebook中创建应用程序的问题请告诉我步骤,这样我就可以找出我的错 你会得到“代表你发帖”??? 【参考方案1】:

正在写一个测试项目,我不能重复你的错误信息;

No visible @interface for 'FBSession' declares the selector handleDidBecomeActive

使用 Facebook SDK 3.1.1 编译时(没有 3.1 方便测试)。这似乎与版本相关,因为 handleDidBecomeActive 在 3.1 版本中是新的,并且该消息与编译器没有看到选择器有关。

另外,关于您的权限问题;权限系统在 3.1 版本中已更改为不允许您同时请求读取和写入权限。引用自3.1 migration documentation;

您现在需要单独(并按此顺序)请求阅读和发布权限。您很可能会在应用启动且用户首次登录时请求个性化的读取权限。稍后,如果合适,您的应用可以在打算将数据发布到 Facebook 时请求发布权限。

我可以在登录时请求读取权限(这就是您所看到的),但正如您所看到的,您不能同时请求发布权限。如果我,正如 SDK 所暗示的那样,稍后请求该权限,它似乎可以正常工作。

【讨论】:

我已经在这个问题中发布了完整的代码,请看***.com/questions/13973635/facebook-in-iphone-app【参考方案2】:

我使用了您仅在 iOS 6 及更高版本中编写的代码。 你应该试试这个代码:

- (void)applicationDidBecomeActive:(UIApplication *)application

    if ([[[UIDevice currentDevice] systemVersion]integerValue] >= __IPHONE_6_0) 
        [FBSession.activeSession handleDidBecomeActive];
    


【讨论】:

如果您不调用handleDidBecomeActive,则需要以其他方式实现applicationDidBecomeActive: 才能正确处理应用切换。 它显示相同的错误 :( 你认为这是我的问题的原因(没有“代表你发帖”)??【参考方案3】:

我知道这是一篇旧帖子,但我发现这可能会帮助遇到同样问题的人,所以我在这里发布我的解决方案。我正在使用 FacebookSDK v3.1,今天遇到了同样的问题。这是因为我在目标搜索路径中仍然有较旧的 FacebookSDK v3.0 路径。只要确保在 Targets Search Paths 中输入了正确的 FacebookSDK 路径,编译器就不会报错。

【讨论】:

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

Android - 使用 facebook sdk 在 facebook 墙上发帖的问题

在 Facebook-Ios-Sdk 中关闭 Facebook 会话

如何使用 facebook SDK 获取总 facebook 好友列表? [复制]

无法使用 Facebook C# SDK 注销 Facebook

为 Facebook 移动应用安装广告安装 Facebook SDK

登录 Facebook 时出现 com.facebook.sdk 错误 2