Этот код работал под iOS6.2; установленный iOS7 и теперь сбой:Камера, работающая на iOS7, не открывается, а затем падает (EXC_BAD_ACCESS)
- (IBAction)bOpenCamera:(UIButton *)sender {
if ([UIImagePickerController isSourceTypeAvailable: UIImagePickerControllerSourceTypeCamera]) {
customerCameraFlag = YES; // indicator so text fields are not cleared
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
imagePicker.delegate = (id)self;
imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
imagePicker.mediaTypes = [NSArray arrayWithObjects: (NSString *) kUTTypeImage, nil];
imagePicker.allowsEditing = NO;
[self presentViewController:imagePicker animated:YES completion:nil];
newMedia = YES;
}
}
Я использую тот же код в двух отдельных классах; ни одна работа. Камера никогда не открывается, просто сбой при завершении последней строки (newMedia = YES). Я просмотрел все записи в SO и Google и не нашел ничего похожего на этот сбой. Он, видимо, работал на iOS 6, но теперь я не могу его протестировать, потому что я перешел на iOS7.
Любые идеи о том, как исправить это?
Это немного несвязанный, но какой тип 'customerCameraFlag'? Если это 'BOOL', значение должно быть' YES', а не 'TRUE'. – danielbeard
Попробуйте включить контрольную точку исключения и добавьте точный текст исключения, который заносится в ваш вопрос. – danielbeard
@ danielbeard: попытался включить контрольные точки исключения, но ничего в коде выше не вызывает исключение. Все стандартные методы делегатов никогда не выполняются, поэтому я предполагаю, что это вызывает его. Точный текст исключения - EXC_BAD_ACCESS. – SpokaneDude