iOS 7设备上UIActivityViewController中Twitter图标未显示

9

我正在使用UIActivityViewController从我的应用程序向Twitter和FB分享信息,这些在设置中已经正确配置。代码是尽可能简单的:

- (IBAction)share {
    NSString *postText = @"some text";
    UIImage *postImage = [UIImage imageNamed:@"myImage"];
    NSURL *postURL = [NSURL URLWithString:@"myUrl"];
    NSArray *activityItems = @[postText, postImage, postURL];

    UIActivityViewController *activityController = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:nil];
    activityController.excludedActivityTypes =
    @[
      UIActivityTypePrint,
      UIActivityTypeCopyToPasteboard,
      UIActivityTypeAssignToContact,
      UIActivityTypeSaveToCameraRoll,
      UIActivityTypeCopyToPasteboard,
      UIActivityTypeMail,
      UIActivityTypeMessage,
      UIActivityTypePostToWeibo,
      ];
    [activityController setCompletionHandler:^(NSString *activityType, BOOL completed) {
        if ([activityType isEqualToString:UIActivityTypePostToFacebook]) {
            if (completed) [self doSomethingForFB];
        } else if ([activityType isEqualToString:UIActivityTypePostToTwitter]) {
            if (completed) [self doSomethingForTwitter];
        }
    }];

    [self presentViewController:activityController animated:YES completion:nil];
}

这段代码在模拟器上运行良好(无论是 iPhone 还是 iPad,都适用于 iOS7 和 iOS6),但在我设备上(一台装有 iOS7 的 iPad)打开 ActivityViewController 后,Twitter 和 FB 出现了,因为标签可见,但它们的图标却不见了。
这个类似问题的答案中,声称问题是应用程序是 iPhone 应用程序,而设备是 iPad(我无法检查此问题,因为我的 iPhone 拥有完美的 iOS 6)。但是:
  • 那么为什么在 iPad 模拟器上一切正常呢?
  • 有没有办法在运行 iPhone 应用程序的 iOS 7 iPad 上正确显示这些图标?

你找到了相同问题的任何答案吗? - Kumar Aditya
1
不是的。实际上,我必须将应用程序提交到商店,问题甚至在“现场”版本(在iOS7的iPad上)仍然存在。 - Maiaux
2个回答

1
在iPad上,您必须在弹出窗口中展示UIActivityViewController。对于iPhone和iPod,您必须以模态方式呈现它。如果您已成功登录,UIActivityViewController会显示社交网络(Facebook和Twitter)图标。

0

谢谢,我想到了一个类似的解决方法,但是似乎我们必须面对两个问题。1)自定义图标只使用alpha通道(因此,您的图标中没有颜色)。2)我不需要创建新的自定义操作,我只需要设置内置操作(Twitter)的图标,而这在您链接的帖子中没有描述,也许根本不可能。 - Maiaux

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