UIImagePickerController периодически перестает отвечать после нажатия кнопки «Использовать»

У меня есть приложение, которое записывает видео. Приложение представляет собой смесь cocos2d и UIKit, хотя часть, использующая UIImagePickerController, полностью является UIKit.

Проблема: После съемки видео, когда вы нажимаете кнопку «Использовать», кнопка меняется на выбранное состояние, а затем ничего не происходит. Кнопка "Повторный прием" отключена. Вы по-прежнему можете воспроизвести / приостановить видео, но представление никогда не закрывается и - (void) imagePickerController: (UIImagePickerController *) средство выбора didFinishPickingMediaWithInfo: (NSDictionary *) info никогда не вызывается.

Проблема возникает долго и короткие (<5 секунд) видео. При появлении предупреждений о памяти проблема не воспроизводилась. Изменение аудиосеансов перед запуском средства выбора изображений также не привело к воспроизведению проблемы.

Мне не удалось вызвать проблему. Это случается лишь изредка. Есть идеи?

Вот код, который представляет UIImagePickerController

  UIImagePickerController *tmpVC = [[UIImagePickerController alloc] init];
  tmpVC.delegate = self;
  tmpVC.allowsEditing = YES;
  // First get the right media types for the right source
  NSArray *types = nil;
  if (useCamera)
  {
    types = [UIImagePickerController availableMediaTypesForSourceType:UIImagePickerControllerSourceTypeCamera];
    tmpVC.sourceType = UIImagePickerControllerSourceTypeCamera;
  }
  else
  {
    types = [UIImagePickerController availableMediaTypesForSourceType:UIImagePickerControllerSourceTypePhotoLibrary];
    tmpVC.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
  }

  // Then see if "movie" is in there
  for (NSString *mediaType in types)
  {
    if ([mediaType isEqualToString:(NSString*)kUTTypeMovie])
    {
      tmpVC.mediaTypes = [NSArray arrayWithObjects:(NSString*)kUTTypeImage,(NSString*)kUTTypeMovie,nil];
      tmpVC.videoQuality = UIImagePickerControllerQualityTypeHigh;
    }
  }

  // Present the configured controller
  [self presentModalViewController:tmpVC animated:YES];
  [tmpVC release];
8
задан jrturton 6 June 2012 в 12:50
поделиться