UIActivityViewController не работает в iOS 8

Я использовал UIActivityViewController, чтобы поделиться чем-то для своего приложения. Он хорошо работает на любом устройстве до iOS8. Проблема заключается в том, что текст, изображения не отображаются в электронной почте, Twitter, Facebook на устройстве iOS 8 или в симуляторе.

Вот мой код:

    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 (собственный) Родительский процесс: 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 аргумент' завершение с необработанным исключением типа NSException abort () называется CoreSimulator 110.4 — Устройство: iPhone 6 — Время выполнения: iOS 8.1 (12B411) — Тип устройства: iPhone 6


person Bagusflyer    schedule 04.10.2014    source источник


Ответы (2)


На реальном устройстве вроде правильно, а на симуляторе нет.

person Bagusflyer    schedule 30.10.2014
comment
Я столкнулся с подобным сбоем, просто отправив электронное письмо (в симуляторе iOS8) с кодом, который работал в iOS7. MFMailComposeViewController присутствует, но некоторые поля отсутствуют (например, Recipients). Затем примерно через 3 секунды он вылетает, как указано выше. Похоже, это ошибка симулятора, вероятно, связанная с почтой. - person jbbenni; 23.02.2015

Я сталкиваюсь с той же проблемой. а у меня немного по другому. Я могу представить контроллер без каких-либо доступных действий. :/ Я удалил все исключенные типы, надеясь, что смогу их увидеть, но не получается. Я предполагаю, что это еще одна ошибка с последним выпуском xcode 6.1 и iOS8.

person NFerocious    schedule 29.10.2014