【问题标题】:Facebook SDK issueFacebook SDK 问题
【发布时间】: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中创建应用程序的问题请告诉我步骤,这样我就可以找出我的错
  • 你会得到“代表你发帖”???

标签: ios objective-c facebook facebook-ios-sdk


【解决方案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 所暗示的那样,稍后请求该权限,它似乎可以正常工作。

【讨论】:

【解决方案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 路径,编译器就不会报错。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-27
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    • 2011-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多