UIActivityViewController 在iOS 8中无法正常工作。

7

我正在使用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并没有解决问题,反而导致邮件崩溃。以下是一些截图(以电子邮件分享为例):

  1. iOS 7中(您可以看到图片)

enter image description here

  1. iOS 8中(空白屏幕)

enter image description here

应用程序崩溃并显示“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

2个回答

4

在真实设备上似乎是正确的,但在模拟器上不正确。


我在iOS8模拟器中遇到了类似的崩溃问题,使用在iOS7上正常运行的代码发送电子邮件时出现。MFMailComposeViewController被呈现,但某些字段缺失(例如收件人)。然后大约3秒钟后就像上面那样崩溃了。这似乎是一个模拟器bug,可能与邮件有关。 - jbbenni

0

我遇到了同样的问题,不过我的情况稍有不同。我可以展示控制器,但没有可用的动作。:/ 我已经移除了所有的excludedtypes,希望能看到任何内容,但结果失败了。我猜这可能是与最新版本的Xcode 6.1和iOS 8相关的另一个bug。


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