Използвах 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) Кодове за изключения:
0x00000000000000000, 0x00000000000000000Специфична информация за приложението: * Прекратяване на приложението поради неуловено изключение 'NSInvalidArgumentException', причина: '* -[NSRegularExpression enumerateMatchesInString:options:range:usingBlock:]: нулев аргумент' прекратяване с неуловено изключение от тип NSException abort (), наречен CoreSimulator 110.4 - Устройство: iPhone 6 - Време на изпълнение: iOS 8.1 (12B411) - Тип устройство: iPhone 6