Search code examples
iosobjective-cfacebook-ios-sdk

FBSDKGraphRequest use of undeclared identifier


Though I have imported FacebookSDK like: #import <FacebookSDK/FacebookSDK.h>, but it says: use of undeclared identifier 'FBSDKGraphRequest'.

The code I wrote is simple:

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

Let me know what may I be missing?


Solution

  • Since version 4.X Facebook has split the SDK in 3 parts:

    Per documentation:

    The SDK is now composed of three frameworks, FBSDKCoreKit, FBSDKLoginKit, and FBSDKShareKit.

    FBSDKCoreKit provides core SDK functionality such as Graph API Requests, access tokens, and App Insights.

    FBSDKLoginKit provides functionality to log people in, and only requires FBSDKCoreKit.

    FBSDKShareKit provides functionality to share, and only requires FBSDKCoreKit.

    As for your question:

    Requests - FBSDKGraphRequest and FBSDKGraphRequestConnection are in FBSDKCoreKit and provide helpers to access the Graph API

    So basically you need to import FBSDKCoreKit in your file:

    #import <FBSDKCoreKit/FBSDKCoreKit.h>