UIActivityViewController在iOS 7上不能显示FB和Twitter

18

我正在尝试使用UIActivityViewController分享一些项目。在iOS 6上它运行良好。但是,在iOS 7上测试时,只有邮件图标显示出来。我怀疑我的SDK太旧了,于是我下载了最新的版本,但它仍然表现相同。我在模拟器和已安装Facebook的设备上进行了测试,但没有成功。

现在我已经没有任何想法,不知道我做错了什么。

这是我的代码:

- (void)shareButtonWasTapped:(BMPopUpMenuView *)popUpMenu {

NSString *shareText;

if (_correctPatternFound) {
    shareText = @"Yey, I solved a puzzle!";
}
else {
    shareText = @"I am solving a photzle...";
}

NSURL *shareURL = [NSURL URLWithString:@"http://somewebsite.com"];

NSArray *items   = [NSArray arrayWithObjects:
                    shareText,
                    _shareImage,
                    shareURL, nil];


UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:items applicationActivities:nil];
[activityViewController setValue:shareText forKey:@"subject"];

activityViewController.excludedActivityTypes =   @[UIActivityTypeCopyToPasteboard,
                                                   UIActivityTypePostToWeibo,
                                                   UIActivityTypeSaveToCameraRoll,
                                                   UIActivityTypeCopyToPasteboard,
                                                   UIActivityTypeMessage,
                                                   UIActivityTypeAssignToContact,
                                                   UIActivityTypePrint];

[self presentViewController:activityViewController animated:YES completion:nil];
}
2个回答

30

如果您在设置中没有设置Twitter和Facebook账户,则它们将不会显示。仅有Facebook或Twitter应用程序是不够的,您需要明确设置账户。
也许这并不是很酷(用户可能想在fb或twitter上分享一些东西,并执行登录),但Apple认为这些活动应该在iOS 7中正常工作。


4
或者他们没有时间修复这个漏洞 ;) - Marty
我也遇到了同样的问题,将Twitter和Facebook凭据添加到设置中就解决了。在iOS7中,苹果做了一些愚蠢的更改。 - Ankit Jain
1
这不仅仅是针对iOS 7。在iOS 6中也有相同的行为。我希望这种行为在iOS 7中能够改变,但事实并非如此...或许他们不想推广那些社交媒体,但他们应该给开发者一个选择。 - atisman
在iOS 8.3上,Facebook似乎已经消失了,即使在用户设备上已经设置好了... @Petro,您所说的“显式设置帐户”是什么意思? - Shams Ahmed

7

我在想为什么它突然停止工作了.. 唉 iOS 8.3 是苹果发布的最大笑话 - Jasper
也许他们有一天会修复它 :) - user3728728
我已经添加了一个答案,附上了我的发现。 - Jasper
有趣的是,如果您未在设备上安装Facebook应用程序(但在本机设置中设置了Facebook),则Facebook图标不会出现。 - Ash
显然这在某种程度上是Facebook的错:https://developers.facebook.com/bugs/949486035103197/ - Paul Bruneau
不支持 iOS 8.4.1 及以下版本。 - AsifHabib

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接