问题
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?
回答1:
Since version 4.X Facebook has split the SDK in 3 parts:
Per documentation:
The SDK is now composed of three frameworks,
FBSDKCoreKit,FBSDKLoginKit, andFBSDKShareKit.
FBSDKCoreKitprovides core SDK functionality such as Graph API Requests, access tokens, and App Insights.
FBSDKLoginKitprovides functionality to log people in, and only requiresFBSDKCoreKit.
FBSDKShareKitprovides functionality to share, and only requiresFBSDKCoreKit.
As for your question:
Requests -
FBSDKGraphRequestandFBSDKGraphRequestConnectionare inFBSDKCoreKitand provide helpers to access the Graph API
So basically you need to import FBSDKCoreKit in your file:
#import <FBSDKCoreKit/FBSDKCoreKit.h>
回答2:
For login into Facebook using new SDK 4.1 You have to add the FBSDKLoginkit and FBSDKCoreKit Frameworks in your project.
Then import the below header files into your ViewController:
#import <FBSDKCoreKit/FBSDKCoreKit.h>
#import <FBSDKLoginKit/FBSDKLoginKit.h>
For more information you can refer the facebook official document here or you can refer these answers
- First answer
- Second answer
Eventhough facebook official document is best.
来源:https://stackoverflow.com/questions/30375046/fbsdkgraphrequest-use-of-undeclared-identifier