我正在使用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 上正确显示这些图标?