2014-09-25 3 views
1

Я смотрю черный экран в UIIMagePickercontroller. Я пробовал много решений, но не мог этого решить. Любое тело может помочь мне решить это? Это всегда происходит, когда я открываю библиотеку фотографий и выбираю несколько фотографий, а затем добавляю новый элемент cellItem в UICollectionview, после чего открываю камеру для съемки новой фотографии, и проблема возникает.Камера имеет черный экран в UIImagepickercontroller в iOS

Вот мой код, используемый для открытия камеры:

-(void)actionLaunchAppCamera 
{ 
    dispatch_async(dispatch_get_main_queue(), ^{ 
     if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) 
     { 

      if (self.cameraPickerController == nil) { 
       self.cameraPickerController= [[UIImagePickerController alloc] init]; 
       self.cameraPickerController.mediaTypes =[UIImagePickerController availableMediaTypesForSourceType:UIImagePickerControllerSourceTypeCamera]; 
       self.cameraPickerController.sourceType = UIImagePickerControllerSourceTypeCamera; 
       self.cameraPickerController.showsCameraControls = YES; 
       self.cameraPickerController.allowsEditing = YES; 
      } 

      if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) { 

       // self.cameraPickerController.cameraCaptureMode = UIImagePickerControllerCameraCaptureModePhoto||UIImagePickerControllerCameraCaptureModeVideo; 
       self.cameraPickerController.delegate = self; 
       self.cameraPickerController.cameraDevice = UIImagePickerControllerCameraDeviceRear; 
       self.cameraPickerController.cameraFlashMode = UIImagePickerControllerCameraFlashModeOff; 
       self.cameraPickerController.modalPresentationStyle = UIModalPresentationCurrentContext; 
       self.cameraPickerController.modalPresentationStyle = UIModalPresentationFullScreen; 

       [self presentViewController:self.cameraPickerController 
       animated:YES completion:^ 
       { 
       // BE SURE TO USE a completion block!!! 
       // completion stuff in here 
       }]; 
      } 
     } 
    }); 

} 

Спасибо заранее.

+0

@ JulianKról: Конечно, у меня есть разрешение на использование камеры. – NTNT

+0

Ваш код выглядит хорошо и должен работать. Может быть, вы отказались от доступа к камере/фотографиям в настройках? –

+1

Check Settigs -> Конфиденциальность -> Камера и ваше приложение –

ответ

0

Проблема не в вашем коде. Это API для Apple. Вы можете увидеть ту же проблему в контакте Apple, если вы отредактируете изображение, сохраните его, а затем вернитесь и отредактируйте его. Затем у вас будет черный предварительный просмотр. Сделайте снимок любым способом и повторите процесс, тогда все будет хорошо. Он также делает это в текстовом сообщении. Сбросьте устройство до заводских настроек, и все будет работать некоторое время. Я сообщил Apple 3 месяца назад и по-прежнему ничего от них. Казалось бы, если Apple сообщит об ошибке в своих основных приложениях, они исправит это. Эта проблема действительно была болью, и у IOS 6 проблем не было.

2

Я пробовал все без везения, пока я не установил свое отображаемое имя Bundle на «что угодно» в Info.plist.

После этого приложение запросило разрешения, как ожидалось, и камера работает.

Я только потратил впустую день на это, что кажется намного ниже медианы на StackOverflow. Надеюсь, он спасет других от этой мучительной ошибки.

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