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] Потребителски идентификатор: 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


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


Отговори (2)


Изглежда, че е правилно в реално устройство, но не и в симулатор.

person Bagusflyer    schedule 30.10.2014
comment
Срещнах подобен срив, като просто изпратих имейл (в iOS8 Simulator) с код, който работеше в iOS7. MFMailComposeViewController присъства, но някои полета липсват (напр. Получатели). След това след около 3 секунди се срива, както по-горе. Това изглежда е грешка в симулатора, вероятно свързана с пощата. - person jbbenni; 23.02.2015

Сблъсквам се със същия проблем. моят обаче е малко по-различен. Мога да представя контролера без налични действия. :/ Премахнах всички изключени типове, надявайки се, че мога да видя някой, но не успя. Предполагам, че това е друг бъг с най-новата версия на xcode 6.1 и iOS8.

person NFerocious    schedule 29.10.2014