2016-07-28 56 views
0

它向我顯示此錯誤。 我所做的只是下載了Facebook SDK用的CocoaPods,我嘗試登錄,但不能這個錯誤=(因爲Objective-C:「用於類消息的接收者FBSDKAccessToken是前向聲明」

FBSDKAccessToken和FBSDKGraphRequest與此相同的錯誤...

這是我的代碼:

#import "TestesViewController.h" 
#import "FBSDKCoreKit.h" 
#import "FBSDKLoginKit.h" 


@implementation TestesViewController 

-(void) viewDidLoad { 
    [super viewDidLoad]; 
    FBSDKLoginButton *loginButton = [[FBSDKLoginButton alloc]init]; 
    loginButton.readPermissions = @[@"public_profile", @"email", @"user_friends"]; 
    loginButton.center = self.view.center; 
    [self.view addSubview:loginButton]; 
} 
- (IBAction)loadButton:(id)sender { 
    if ([FBSDKAccessToken currentAccessToken]) { 
     [[[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:nil] 
     startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) { 
      if (!error) { 
       NSLog(@"fetched user:%@", result); 
      } 
     }]; 
    } 
} 
@end 

回答

0

是否改變

#import "FBSDKLoginKit.h" 
#import "FBSDKCoreKit.h" 

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

解決這個問題?否則,項目/工作區中的標題搜索路徑可能存在問題。

+0

感謝您的答案。不修正錯誤,甚至改變標題搜索路徑,錯誤繼續... =/ –

-1

這裏您使用的是自定義loadButton而不是FBSDKLogin按鈕,所以我認爲要使用您的自定義FB登錄按鈕,您的參數不能爲零,您需要提供參數。此外,您需要先使用登錄管理器登錄用戶才能獲取訪問令牌,如果用戶從未登錄過,則訪問令牌爲零。一旦您獲得訪問令牌,您需要將其存儲在某處,可能是用戶默認值,因此我正在刪除該令牌部分爲now.Try更改代碼爲:

FBSDKLoginManager *loginManager = [[FBSDKLoginManager alloc] init]; 
[loginManager logInWithReadPermissions:@[@"email",@"user_birthday",@"public_profile"] fromViewController:nil handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) { 
    // if ([FBSDKAccessToken currentAccessToken]) { 
    [[[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:@{@"fields":@"first_name, last_name, picture.type(large),email"}] 
    startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) { 
     if (!error) { 
      NSLog(@"fetched user:%@", result); 
     } 
    }]; 
    //} 
}]; 

將此代碼插入到您的加載按鈕部分。這對我有用。 這可能適合你。 如果你真的想做一個自定義的FB登錄按鈕,請考慮Custom FB button

+0

現在它是:「收件人'FBSDKGraphRequest'的類消息是一個前向聲明」 我試過的代碼是你發送的鏈接和有效。但它沒有使用GraphRequest,所以我仍然可以獲取用戶信息? –