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 не решают проблему. И это вызывает сбой в электронной почте. Вот несколько скриншотов (например, обмен электронной почтой):
- В 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] ИД пользователя: 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 - Device: iPhone 6 - среда выполнения: iOS 8.1 (12B411) - тип устройства: iPhone 6
2 ответа
Кажется, это правильно в реальном устройстве, но не в симуляторе.
Я сталкиваюсь с той же проблемой. однако мой немного отличается. Я могу представить контроллер без каких-либо действий.:/ Я удалил все исключенные типы, надеясь, что смогу увидеть любой, но не получится. Я думаю, это еще одна ошибка с последним выпуском xcode 6.1 и iOS8.