簡體   English   中英

Objective-C:“類消息的接收者FBSDKAccessToken是一個前向聲明”

[英]Objective-C : “receiver FBSDKAccessToken for class message is a forward declaration”

它向我顯示了此錯誤。 我所做的就是下載帶有CocoaPods的Facebook SDK,但我正嘗試登錄,但不能因為這個錯誤=(

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

是否改變

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

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

解決問題? 如果不是這樣,則您的項目/工作區中的標題搜索路徑可能存在問題。

在這里,您使用的是自定義loadButton而不是FBSDKLogin按鈕,因此,我認為為了使用自定義FB登錄按鈕,您的參數不能為nil,需要提供參數。 此外,您需要先使用登錄管理器登錄用戶才能獲得訪問令牌,如果用戶從未登錄過,訪問令牌將為零。一旦獲得訪問令牌,則需要將其存儲在某個位置(可能是用戶默認設置),因此我將其刪除現在嘗試將代碼更改為:

    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登錄按鈕,請考慮“ 自定義FB”按鈕

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM