0

In an iOS App (Objective-C) I send messages with video and the user can select if it is private, for friends, or visible to the public. That worked fine for a long time but I recently discovered that messages that were sent with "audience = ACFacebookAudienceOnlyMe" are also visible to the public. Posting with "audience = ACFacebookAudienceFriends" is still working as expected. My codes hasn't changed and I don't know if this behavior appeared in iOS9 or if it is a problem with Facebook. Does anybody has noticed a similar behavior?

The relevant code is:

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..}

The Dictionary "dict" looks like this when printed with NSLog directly before sending:

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

When Posting for friends ACFacebookAudienceKey is "friends".

4

1 回答 1

0

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

于 2016-02-29T20:36:01.760 回答