【问题标题】:FBSDKGraphRequest use of undeclared identifierFBSDKGraphRequest 使用未声明的标识符
【发布时间】:2015-05-21 13:22:41
【问题描述】:

虽然我已经导入了 FacebookSDK,例如:#import <FacebookSDK/FacebookSDK.h>,但它说: 使用未声明的标识符“FBSDKGraphRequest”。

我写的代码很简单:

FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
                                      initWithGraphPath:@"/{user-id}/albums"
                                      parameters:params
                                      HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
                                              id result,
                                              NSError *error) {
            // Handle the result
        }];

让我知道我可能缺少什么?

【问题讨论】:

  • 您导入 facebook sdk 时遵循了哪些程序?缺少 ;)
  • @Vizllx 我无法输入:,我不知道为什么。我尝试编辑,但没有任何收获。
  • 你能导入 框架吗?它会在您键入时自动检测吗?
  • 是的,它会自动检测并正确添加框架。事实上,我也可以通过 facebook 登录。

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


【解决方案1】:

自 4.X 版以来,Facebook 已将 SDK 拆分为 3 个部分:

Per documentation:

SDK 现在由三个框架组成,FBSDKCoreKitFBSDKLoginKitFBSDKShareKit

FBSDKCoreKit提供核心SDK 图形 API 请求、访问令牌和应用程序等功能 洞察力。

FBSDKLoginKit 提供登录功能,以及 只需要FBSDKCoreKit

FBSDKShareKit 提供以下功能 分享,并且只需要FBSDKCoreKit

至于你的问题:

请求 - FBSDKGraphRequestFBSDKGraphRequestConnectionFBSDKCoreKit 并提供帮助来访问 Graph API

所以基本上你需要在你的文件中导入FBSDKCoreKit

#import <FBSDKCoreKit/FBSDKCoreKit.h>

【讨论】:

  • 感谢 Lefteries,它有帮助。我删除了旧的 FacebookSDK 并使用了新版本 4.X。
【解决方案2】:

要使用新的 SDK 4.1 登录 Facebook,您必须在项目中添加 FBSDKLoginkit 和 FBSDKCoreKit 框架。

然后将以下头文件导入您的 ViewController:

#import <FBSDKCoreKit/FBSDKCoreKit.h>
#import <FBSDKLoginKit/FBSDKLoginKit.h>

更多信息你可以参考the facebook official document here或者你可以参考这些答案

  1. First answer
  2. Second answer

虽然facebook官方文档最好。

【讨论】:

  • 嘿,非常感谢。你的回答也对。但我无法将两个答案都标记为正确。
  • 这很好,伙计。编码愉快。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多