【发布时间】:2016-02-11 22:55:11
【问题描述】:
在 iOS 应用程序(Objective-C)中,我发送带有视频的消息,用户可以选择它是私有的、供朋友使用的还是对公众可见的。 这在很长一段时间内都运行良好,但我最近发现使用“audience = ACFacebookAudienceOnlyMe”发送的消息也对公众可见。使用“audience = 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..}
在发送前直接使用 NSLog 打印时,字典“dict”看起来像这样:
{
ACFacebookAppIdKey = XXXXMyAppIDKeyXXXX;
ACFacebookAudienceKey = me;
ACFacebookPermissionsKey = (
"publish_actions"
);
}
为朋友发帖时 ACFacebookAudienceKey 是“朋友”。
【问题讨论】:
-
我还没有听说过这样的行为,但是在developers.facebook.com/bugs 上为此创建一个错误报告并没有什么坏处。请务必提供可用于以与您的应用相同的方式发布视频的示例项目以及显示此行为的帖子中的一些示例 ID。
标签: ios objective-c facebook facebook-graph-api acaccountstore