在iOS7上,UIActivityViewController中的Facebook和Twitter图标没有显示出来。

9

我已添加这段代码来呈现一个UIActivityViewController

-(IBAction)activityAction:(id)sender
{
    UIActivityViewController *activityViewController = [[UIActivityViewController alloc]initWithActivityItems:[NSArray arrayWithObjects:@"Hello Welcome!",[UIImage imageNamed:@"scene3.jpg"],nil] applicationActivities:nil];

     activityViewController.excludedActivityTypes = @[UIActivityTypePostToFacebook, UIActivityTypePostToTwitter, UIActivityTypePostToWeibo, UIActivityTypeAssignToContact];
    [self presentViewController:activityViewController animated:YES completion:nil];
}

在iOS7中,Facebook、Twitter和微博图标未显示。在iOS6中,所有图标都正确显示。请参见下面的屏幕截图:
如何解决这个问题?

我也遇到了同样的问题...你解决了吗? - Sunil_Vaishnav
没有,我没有在设备上检查过。但是在模拟器中它无法工作。 - karthika
5个回答

29

如果您没有在设备设置中登录Facebook或Twitter,则它们不会显示在此处。用户必须先登录才能看到它们。请向苹果报告此问题。


3
马蒂是正确的。除非你的凭据在设置中被找到,否则UIActivityViewController中的设置图标不会显示在iOS7中。为什么苹果要做出这样的改变,他们太糟糕了。 - Ankit Jain
我也遇到了相同的问题,而且我在苹果的照片应用程序中看到了Facebook图标。如果有任何想法或帮助,将不胜感激 @Marty - Kamar Shad
如果我没有登录,是否有其他方法(使用fb sdk for ios)? - Sk Borhan Uddin
你有解决IOS 10与此相同问题的解决方案吗? - handiansom
你有关于在IOS 10中解决这个问题的方案吗? - handiansom

28

看看属性的名称excludedActivityTypes,你正在排除Facebook、Twitter等。

activityViewController.excludedActivityTypes = @[UIActivityTypePostToWeibo, UIActivityTypeAssignToContact];

仅排除微博和指派联系人


3
在真实设备上测试。 - pNre
Facebook和Twitter不会在模拟器上显示。其他选项可能会出现,但它们不起作用(例如邮件、短信)。 - shim

5

请确保您不排除想要使用的活动。因此,请从“activityViewController.excludedActivityTypes”对象中删除“UIActivityTypePostToFacebook”和“UIActivityTypePostToTwitter”。

此外,请确保您已登录Facebook和Twitter帐户,以便在相应的社交平台上发布。

请注意,这适用于模拟器和真实设备。

希望这能帮助您。


1

你的代码,

activityViewController.excludedActivityTypes = @[UIActivityTypePostToFacebook, UIActivityTypePostToTwitter, UIActivityTypePostToWeibo, UIActivityTypeAssignToContact];

将其翻译为中文:

更改为这个,


activityViewController.excludedActivityTypes = @[UIActivityTypePostToWeibo, UIActivityTypeAssignToContact];

如果您在设备设置中登录了Facebook、Twitter,则只有这样才能看到它。

谢谢,


1
不要包含UIActivityTypePostToFacebook。
       activityViewController.excludedActivityTypes = @[UIActivityTypePostToTwitter,   UIActivityTypePostToWeibo, UIActivityTypeAssignToContact];
[self presentViewController:activityViewController animated:YES completion:nil];

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