exc_bad_access code=1 address=0*0 при использовании UIActivityviewController в iphone

Вот мой код, где я использую, чтобы поделиться изображением vaia facebook:

NSArray *array = [NSKeyedUnarchiver unarchiveObjectWithData:archive];
UIActivityViewController *activityVC = 
    [[UIActivityViewController alloc] initWithActivityItems:array 
                                      applicationActivities:nil]; 
activityVC.excludedActivityTypes = @[UIActivityTypeAssignToContact, 
                                     UIActivityTypePrint,
                                     UIActivityTypePostToTwitter,
                                     UIActivityTypePostToWeibo,
                                     UIActivityTypeMail,
                                     UIActivityTypeCopyToPasteboard,
                                     UIActivityTypeSaveToCameraRoll];
[self presentViewController:activityVC animated:YES completion:nil];

это работает нормально в симуляторе, но когда я тестирую его на реальном Ipad 3, он принудительно закрывается, говоря об ошибке

exc_bad_access code=1 address=0*0

в этой строке

activityVC.excludedActivityTypes = @[UIActivityTypeAssignToContact, 
                                         UIActivityTypePrint,
                                         UIActivityTypePostToTwitter,
                                         UIActivityTypePostToWeibo,
                                         UIActivityTypeMail,
                                         UIActivityTypeCopyToPasteboard,
                                         UIActivityTypeSaveToCameraRoll];

Кто-нибудь может найти меня, что я здесь упустил?

редактируемая часть:

Я проверил все и array не ноль. если я закомментирую строку activityVc.exclude....

тогда сила закрывается и говорит

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Application tried to present a nil modal view controller

1 ответ

Вы проверяли операционную систему вашего iPad?,

он должен иметь версию ios 6 или выше для UIActivityViewControllerвведите описание изображения здесь

вы можете проверить версию, используя

   NSString *reqSysVer = @"6.0";
   NSString *currSysVer = [[UIDevice currentDevice] systemVersion];
    if ([currSysVer compare:reqSysVer options:NSNumericSearch] != NSOrderedAscending)
      {

       //use UIActivityViewController here
      }
Другие вопросы по тегам