我正在使用UIActivityViewController分享我的应用程序中的一些内容。在iOS8之前的任何设备上都能很好地工作。问题在于,在iOS 8设备或模拟器中,电子邮件、Twitter和Facebook上的文本和图像都无法显示。
这是我的代码:
NSString *textObject = @"Test";
NSString *urlString = @"http://test.com";
UIImage* image = [UIImage imageNamed:@"logo"];
NSURL *url = [NSURL URLWithString:urlString];
NSArray *activityItems = [NSArray arrayWithObjects:textObject, url, image, nil];
UIActivityViewController *avc = [[UIActivityViewController alloc]
initWithActivityItems:activityItems
applicationActivities:nil];
avc.excludedActivityTypes = @[UIActivityTypePostToWeibo, UIActivityTypeAssignToContact, UIActivityTypeCopyToPasteboard ];
[self presentViewController:avc animated:YES completion:nil];
我做错了什么吗?谢谢。
编辑:
新的Xcode 6.1和iOS 8.1并没有解决问题,反而导致邮件崩溃。以下是一些截图(以电子邮件分享为例):
- iOS 7中(您可以看到图片)
- iOS 8中(空白屏幕)
应用程序崩溃并显示“MailCompositionService”异常。错误消息的一部分如下:
进程:MailCompositionService [3775] 路径:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/Applications/MailCompositionService.app/MailCompositionService 标识符:MailCompositionService 版本:
1.0(1.0) 代码类型:X86-64(本机) 父进程:launchd_sim [3725] 负责人:launchd_sim [3725] 用户 ID: 501日期/时间:2014-10-22 10:31:19.064 +0800 操作系统版本:
Mac OS X 10.10(14A389) 报告版本:11 匿名 UUID:
B1EC6B56-DD7F-36A3-1506-B8CE84AB3FEB自启动后的时间:9800秒
崩溃线程:0 Dispatch queue: com.apple.main-thread
异常类型:EXC_CRASH(SIGABRT) 异常代码:
0x0000000000000000,0x0000000000000000应用程序特定信息: * Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '* -[NSRegularExpression enumerateMatchesInString:options:range:usingBlock:]: nil argument' terminating with uncaught exception of type NSException abort() called CoreSimulator 110.4 - Device: iPhone 6 - Runtime: iOS 8.1 (12B411) - DeviceType: iPhone 6