使用测试用户时Facebook共享成功,但使用真实Facebook帐户时失败

时间:2014-05-26 08:34:28

标签: ios facebook facebook-graph-api facebook-ios-sdk

我想在我的iOS应用中添加Facebook共享功能。我希望人们可以在Facebook上发布他对我的应用的感觉。现在我可以使用测试用户分享成功。但是,当我使用真实的Facebook帐户进行分享时,它就失败了。 Xcode说error code:200,error description:(#200) Permissions error。 我通过了" publish_actions"的评论,我没有处于开发模式。 我确定我的代码是正确的,因为我使用其他人的应用程序来分享它并且效果很好。 我没有使用Facebook官方SDK,我使用的是ShareSDK。

2 个答案:

答案 0 :(得分:0)

最有可能在app delegate中添加了您尚未请求所有权限的权限,如下例所示:

// To open session of facebook and close it
- (BOOL)openSessionWithAllowLoginUI:(BOOL)allowLoginUI {
    NSArray *permissions = [[NSArray alloc] initWithObjects:
                            @"email",
                            @"user_likes",
                            @"user_friends",
                            @"user_about_me",
                            @"user_relationships",
                            @"user_birthday",
                            @"user_location",
                            nil];

    if (! [[FBSession activeSession] isOpen]) {

        return [FBSession openActiveSessionWithReadPermissions:permissions
                                                  allowLoginUI:allowLoginUI
                                             completionHandler:^(FBSession *session,
                                                                 FBSessionState state,
                                                                 NSError *error) {
                                                 [self sessionStateChanged:session
                                                                     state:state
                                                                     error:error];
                                             }];
    }
    else {
        return [FBSession openActiveSessionWithReadPermissions:permissions
                                                  allowLoginUI:allowLoginUI
                                             completionHandler:^(FBSession *session,
                                                                 FBSessionState state,
                                                                 NSError *error) {
                                                 [self sessionStateChanged:session
                                                                     state:state
                                                                     error:error];
                                             }];

    }
}

答案 1 :(得分:0)

问题出在ShareSDK上。当官方Facebook SDK更新时,ShareSDK没有更新。所以我要求beta ShareSDK解决问题。