【问题标题】:UIActivityViewController doesn't work in iOS 8UIActivityViewController 在 iOS 8 中不起作用
【发布时间】:2014-11-29 03:23:49
【问题描述】:

我正在使用 UIActivityViewController 为我的应用程序共享一些东西。它适用于 iOS8 之前的任何设备。问题是文本,图像在 iOS 8 设备或模拟器中的电子邮件、推特、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 中(您可以看到图像)

  1. 在 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 (Native) 父进程: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 调度队列:com.apple.main-thread

异常类型:EXC_CRASH (SIGABRT) 异常代码:
0x0000000000000000, 0x0000000000000000

应用程序特定信息: * 由于未捕获的异常 'NSInvalidArgumentException' 导致应用程序终止,原因:'* -[NSRegularExpression enumerateMatchesInString:options:range:usingBlock:]: nil argument' 以调用的 NSException abort() 类型的未捕获异常终止 CoreSimulator 110.4 - 设备:iPhone 6 - 运行时:iOS 8.1 (12B411) - 设备类型:iPhone 6

【问题讨论】:

    标签: ios8 ios-simulator xcode6 uiactivityviewcontroller


    【解决方案1】:

    我遇到了同样的问题。但是我的略有不同。我可以在没有任何可用操作的情况下展示控制器。 :/ 我已经删除了所有排除的类型,希望我能看到任何但失败的类型。我猜这是最新版本的 xcode 6.1 和 iOS8 的另一个错误。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 我遇到了类似的崩溃,只是发送一封电子邮件(在 iOS8 模拟器中),代码在 iOS7 中有效。 MFMailComposeViewController 显示,但缺少某些字段(例如,收件人)。然后在大约 3 秒后它像上面一样崩溃。这似乎是一个模拟器错误,可能与邮件有关。
      猜你喜欢
      • 1970-01-01
      • 2018-03-06
      • 2014-12-04
      • 2017-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-28
      相关资源
      最近更新 更多