2011-12-31 4 views
0

Я реализую делегат UIImagePickerController, делегат UINavigationController, делегат UIPopOverController. Я не знаю, в чем проблема. Мое устройство перезапустится после вызова этого 3, 4 или 5 раз (разные сборки). Пожалуйста, помогите мне исправить!После вызова UIImagePickerController несколько раз перезагружается устройство

EDIT: Я получаю эту ошибку:

More than maximum 5 filtered album lists trying to register. This will fail. 

Вот код, я использую, чтобы позвонить UIImagePickerController и получить изображение:

- (IBAction)imgPickerPressed:(id)sender { 
    if ([UIImagePickerController isSourceTypeAvailable: UIImagePickerControllerSourceTypeCamera]) { 
     imgPickerTypeActionSheet = [[UIActionSheet alloc] initWithTitle:@"Choose image source:" delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil otherButtonTitles:@"Camera", @"Photo Library", nil]; 
     [imgPickerTypeActionSheet showInView:self]; 
    } 
    else { 
     UIImagePickerController *controller = [[UIImagePickerController alloc] init]; 
     [controller setDelegate:self]; 
     if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary]) { 
      [controller setSourceType:UIImagePickerControllerSourceTypePhotoLibrary]; 
     } 
     imgPickerPopOver = [[UIPopoverController alloc] initWithContentViewController:controller]; 
     imgPickerPopOver.delegate = self; 
     [imgPickerPopOver presentPopoverFromRect:CGRectMake(imgPickerButton.frame.origin.x, imgPickerButton.frame.origin.x-250, 0.0, 0.0) 
              inView:self 
         permittedArrowDirections:UIPopoverArrowDirectionDown 
             animated:YES]; 
    } 
} 
- (void)actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex { 
    if ([actionSheet isEqual:imgPickerTypeActionSheet]) { 
     if (buttonIndex == 0) { 
      UIImagePickerController *controller = [[UIImagePickerController alloc] init]; 
      [controller setDelegate:self]; 
      [controller setSourceType:UIImagePickerControllerSourceTypeCamera]; 

      [[delegate getVC] presentModalViewController:controller animated:YES]; 
     } 
     if (buttonIndex == 1) { 
      UIImagePickerController *controller = [[UIImagePickerController alloc] init]; 
      [controller setDelegate:self]; 
      [controller setSourceType:UIImagePickerControllerSourceTypePhotoLibrary]; 

      imgPickerPopOver = [[UIPopoverController alloc] initWithContentViewController:controller]; 
      imgPickerPopOver.delegate = self; 
      [imgPickerPopOver presentPopoverFromRect:CGRectMake(imgPickerButton.frame.origin.x, imgPickerButton.frame.origin.x-250, 1, 1) 
               inView:self 
          permittedArrowDirections:UIPopoverArrowDirectionDown 
              animated:YES]; 
     } 
    } 
} 
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo { 
    [imgPickerPopOver dismissPopoverAnimated:YES]; 
    pickedImageView.image = image; 
    [self valueChanged:nil]; 
} 
+0

Что значит перезапуск устройства? я имею в виду, что он выключается и включается автоматически –

+0

Устройство перезагружается. Фактическое устройство перезагрузится, устройство выключится и вернется на – Aspyn

+0

Я нашел ошибку, но не знаю исправления – Aspyn

ответ

0

ли эту работу в тренажере IOS? Также вы выпускаете любой из этих объектов, или это делает ARC? This может помочь.

+0

ARC делает это, и да, это прекрасно в симуляторе – Aspyn

Смежные вопросы