CGAffineTransformInvert: единичная матрица в UIImagePickerController с showCameraControls = NO
Я попробовал это дважды с двумя разными приложениями, и я получил то же самое. Я настроил экземпляр UIImagePIckerController следующим образом:
- (IBAction)addImage:(UIBarButtonItem *)sender {
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {
NSArray *mediaTypes = [UIImagePickerController availableMediaTypesForSourceType:UIImagePickerControllerSourceTypeCamera];
if ([mediaTypes containsObject:(NSString *)kUTTypeImage]) {
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.sourceType = UIImagePickerControllerSourceTypeCamera;
picker.mediaTypes = [NSArray arrayWithObject:(NSString *)kUTTypeImage];
picker.allowsEditing = NO;
picker.showsCameraControls = NO;
[self presentViewController: picker animated:YES completion:NULL];
}
[..]
}
Это был второй. В первом я настроил пользовательский оверлей для запуска затвора и других функций. Все работает нормально, но я получаю сообщение об ошибке на консоли:
: CGAffineTransformInvert: singular matrix.
Когда я запускаю приложение, каждый раз, когда камера поворачивается (или перемещается, что сигнализирует о повороте) устройства, когда камера работает{something happens here}
, Я попробовал это на моем iPhone 4 и iPad Mini с одинаковыми результатами. После долгих раскопок я обнаружил, что это происходит только в том случае, если
picker.showsCameraControls = NO;
Если я поставлю
picker.showsCameraControls = YES;
Тогда я не получаю сообщения (хотя мой пользовательский оверлей тоже скрыт). Убедиться, что это неСамо пользовательское наложение я попытался пропустить, и оно все еще выдает сообщение об ошибке.
У кого-нибудь есть идеи, что мне с этим делать?