2014-11-12 1 views
3

Так что я знаю, что это было отвечено несколько раз раньше, но мне еще предстоит найти решение, которое работает для меня.iOS8 Снимки изображения, которое не было отображено, приводит к пустым моментальным снимкам

Нечетная вещь, это то, что в первый раз, когда я представляю камеру с помощью UIPickerController, она работает нормально, точно так, как предполагалось. Но если я снова открою его, он отобразит только черный экран с элементами управления камерой (кнопка «Отмена» и кнопка «белый снимок»).

Любая помощь, подавляющая эту ошибку, была бы очень признательна или даже просто подтверждение того, что это ошибка, и мне просто нужно подождать, пока Apple решит, что это будет отличная помощь!

Спасибо всем :)

(PS Я бегу на iPhone 6 Plus с использованием IOS 8.1)

EDIT: Код (я использую Xamarin и C#)

public void ShowPhotoTaker (UIViewController vc) 
    { 
     UIImagePickerController picker = new UIImagePickerController(); 
     picker.SourceType = UIImagePickerControllerSourceType.Camera; 

     picker.FinishedPickingMedia += (object sender, 
      picker.DismissViewController(true, null); 
     }; 

     picker.Canceled += (object sender, EventArgs e) => { 
      picker.DismissViewController(true, null); 
     }; 

     vc.PresentViewController (picker, true, null); 
    } 

И это точная ошибка, которую я получаю при вызове этого метода.

Snapshotting a view that has not been rendered results in an empty snapshot. Ensure your view has been rendered at least once before snapshotting or snapshot after screen updates. 
+0

Сообщите нам код! –

+0

Отредактировано выше с кодом, который я использую. – wyzkid207

ответ

1

У меня тоже была эта ошибка. Я связался с Xamarin Support, и они сказали мне, что это ошибка с iOS 8 и выше. Для этого нет никакого решения, кроме ожидания того, что какое-нибудь исправление будет развернуто для разработки iOS или, возможно, самого Xamarin. Обходной путь может заключаться в том, чтобы установить SDK сборки в более раннюю версию и очистить + перестроить приложение.

+0

Да, это то, что я понял. К счастью, я не вижу эту ошибку так часто, как раньше, поэтому, возможно, она была несколько исправлена. Спасибо за вашу помощь! – wyzkid207

0

Snapshotting a view that has not been rendered results in an empty snapshot same error.

Это определенно ошибка, и вы можете найти ее и на форумах разработчиков на яблоках.

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

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { 

// Code to handle the image data 

dispatch_async(dispatch_get_main_queue(), ^{ 
    [self dismissViewControllerAnimated:YES completion:nil]; 
}); 
} 
-(void)imagePickerControllerDidCancel:(UIImagePickerController *)picker { 
dispatch_async(dispatch_get_main_queue(), ^{ 
[self dismissViewControllerAnimated:YES completion:nil]; 

}); 

}