我正在这样做tutorial 。
我已经尝试过this solution但不起作用
MyViewController.h
@property (strong, nonatomic) IBOutlet FBProfilePictureView *profilePictureView;
MyViewController.m
@synthesize profilePictureView;
- (void)viewDidLoad
{
[super viewDidLoad];
[self loginToFacebook];
}
-(void) loginToFacebook {
FBLoginView *loginView = [[FBLoginView alloc] initWithReadPermissions:@[@"public_profile", @"email", @"user_friends"]];
loginView.frame = CGRectOffset(loginView.frame, (self.view.center.x - (loginView.frame.size.width / 2)), 380);
[self.view addSubview:loginView];
loginView.delegate = self;
}
#pragma mark - Delegates
- (void)loginViewFetchedUserInfo:(FBLoginView *)loginView user:(id<FBGraphUser>)user {
self.profilePictureView.profileID = user.id;
}
AppDelegate.m
- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication
annotation:(id)annotation {
// Call FBAppCall's handleOpenURL:sourceApplication to handle Facebook app responses
BOOL wasHandled = [FBAppCall handleOpenURL:url sourceApplication:sourceApplication];
// You can add your app-specific url handling code here if needed
return wasHandled;
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[FBProfilePictureView class];
return YES;
}
2014-05-15 20:13:41.996 Wobbly[6231:60b] -[UIImageView setProfileID:]: 无法识别的选择器发送到实例 0x16d60a20
2014-05-15 20:13:41.998 Wobbly[6231:60b] *** 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[UIImageView setProfileID:]:无法识别的选择器发送到实例 0x16d60a20”
更新:5 月 31 日。它仍然不起作用。我不知道答案。
最佳答案
你的问题是这一行:
profilePictureView.profileID = user.objectID;
“profilePictureView
”有一个UIImageView对象。它对“profileID
”是什么一无所知。
本教程引用“self.profilePictureView.profileID
”,这意味着它是 1) 属性和 2) UIImageView 的自定义子类。
因此请确保您已通过这种方式定义了您的属性:
@property (strong, nonatomic) IBOutlet FBProfilePictureView *profilePictureView;
就像教程中那样。
关于ios - Facebook SDK 登录 xcode 在获取 avater 时崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23685860/