为什么通过iOS ACAccountStore发布私人Facebook帖子对公众可见?

时间:2016-02-11 22:55:12

标签: ios objective-c facebook facebook-graph-api acaccountstore

在iOS应用程序(Objective-C)中,我发送带有视频的消息,用户可以选择是私人的,朋友的,还是公众可见的。 这很好用了很久但我最近发现用“audience = ACFacebookAudienceOnlyMe”发送的消息也是公众可见的。发布“观众= ACFacebookAudienceFriends”仍然按预期工作。 我的代码没有改变,我不知道这种行为是否出现在iOS9中,或者是否是Facebook的问题。 有人注意到了类似的行为吗?

相关代码是:

NSString * audience;
switch ([[messageOptions objectForKey:@"permission"]intValue]) {
case 0:
    audience = ACFacebookAudienceOnlyMe;
    break;
case 1:
    audience = ACFacebookAudienceFriends;
    break;
case 2:
    audience = ACFacebookAudienceEveryone;
    break;
default:
    audience = ACFacebookAudienceOnlyMe;
    break;
}

NSMutableDictionary *dict = [[NSMutableDictionary alloc]      initWithObjectsAndKeys:@"XXXXMyAppIDKeyXXXX", ACFacebookAppIdKey, permissions, ACFacebookPermissionsKey, audience, ACFacebookAudienceKey, nil];
__block ACAccount * facebookAccount;
[self.accountStore requestAccessToAccountsWithType:facebookAccountType options:dict completion:^(BOOL granted, NSError *error) {
    if (granted && error == nil) {... send message and video here..}

字典“dict”在发送之前直接使用NSLog打印时如下所示:

   {
    ACFacebookAppIdKey = XXXXMyAppIDKeyXXXX;
    ACFacebookAudienceKey = me;
    ACFacebookPermissionsKey =     (
        "publish_actions"
    );
    }

发帖给朋友时ACFacebookAudienceKey是“朋友”。

1 个答案:

答案 0 :(得分:0)

这似乎是一个暂时的问题,几周后我无法再现这种行为。