![](/img/trans.png)
[英]Receiver '**' for class message is a forward declaration Error. Swift Static Library use in Objective-C
[英]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.