2016-07-28 2 views
0

これは私にこのエラーを示しています。 私はすべてこれはあるCocoaPodsとFacebookのSDKをダウンロードして、私がログインしようとしているが、このために間違いの=(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

ここではFBSDKLoginボタンの代わりにカスタムloadButtonを使用していますので、カスタムFBログインボタンを使用するにはパラメータを指定できません。パラメータを指定する必要があります。さらに、ログインマネージャーを使用して最初にログインする必要があります。アクセストークンを取得するには、ユーザーがログインしていない場合はゼロになります。アクセストークンを取得すると、おそらくユーザーのデフォルトに格納する必要がありますコードを次のように変更してください:

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を使用していないので、私はまだユーザー情報を得ることができますか? –