iOS:Facebook 登录错误

Posted

技术标签:

【中文标题】iOS:Facebook 登录错误【英文标题】:iOS: Facebook Login error 【发布时间】:2014-02-18 20:30:18 【问题描述】:

尝试通过我的 ios 应用登录时总是出错:

- (void)viewDidLoad


    FBLoginView *loginView = [[FBLoginView alloc] init];
    // Align the button in the center horizontally
    loginView.frame = CGRectOffset(loginView.frame, (self.view.center.x - (loginView.frame.size.width / 2)), 25);
    loginView.delegate = self;
//loginView.readPermissions = @[@"basic_info", @"email", @"user_likes"];
    loginView.readPermissions = @[@"basic_info", @"email", @"user_likes", @"user_events",  @"user_videos", @"user_subscriptions", @"user_photos"];
    loginView.publishPermissions = @[@"manage_friendlists", @"manage_notifications", @"photo_upload", @"manage_pages", @"publish_stream", @"read_friendlists", @"read_mailbox", @"read_requests", @"read_stream", @"share_item", @"video_upload"];

    [self.view addSubview:loginView];


    [super viewDidLoad];
    // Do any additional setup after loading the view.

错误:

由于未捕获的异常而终止应用程序 'com.facebook.sdk:InvalidOperationException',原因:'FBSession: 在未指定受众的情况下请求发布权限;采用 FBSessionDefaultAudienceJustMe、FBSessionDefaultAudienceFriends 或 FBSessionDefaultAudienceEveryone'

我可以做些什么来解决这个错误?

【问题讨论】:

【参考方案1】:

您必须指定 defaultAudience

@property (nonatomic, assign) FBSessionDefaultAudience defaultAudience;

如果在登录时请求发布权限,则使用的默认受众。

添加:

loginView.defaultAudience = FBSessionDefaultAudienceJustMe;

或以下任何一种: FBSessionDefaultAudienceJustMeFBSessionDefaultAudienceFriendsFBSessionDefaultAudienceEveryone

来源: https://developers.facebook.com/docs/reference/ios/current/class/FBLoginView/

【讨论】:

以上是关于iOS:Facebook 登录错误的主要内容,如果未能解决你的问题,请参考以下文章

iOS:Facebook 登录错误

iOS 6 facebook sdk 3.1.1 登录错误

Facebook iOS登录问题-错误代码2 [重复]

登录 facebook 时无法完成操作。(com.facebook.sdk 错误 2.0)错误。 iOS 6,iPhone3gs

使用 facebook connect 登录 IOS 应用程序时出现冲突错误

Facebook 登录按钮:iOS 上 Chrome 错误的解决方法