У меня есть пользовательский контроллер вида, который я использую, у которого есть пара кнопок, одна для фотографирования и одна для выбора фотографии. Когда вы выбираете фото, он показывает рулон камеры без проблем. Тем не менее, когда вы выбираете сделать снимок, на нем все равно показывается снимок с камеры - или поток фотографий или что-либо, кроме самой камеры, даже если я использую iPhone с идеально работающей камерой.
- (IBAction)getPhoto:(id)sender
{
[self makeUIImagePickerControllerForCamera:NO];
}
- (IBAction)takePhoto:(id)sender
{
[self makeUIImagePickerControllerForCamera:YES];
}
- (void) makeUIImagePickerControllerForCamera:(BOOL)camera
{
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
if (camera) {
NSLog(@"!!! Show camera");
picker.sourceType = UIImagePickerControllerSourceTypeCamera;
} else {
picker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;
}
[picker setMediaTypes:[NSArray arrayWithObjects:(NSString *) kUTTypeImage, nil]];
[self presentModalViewController: picker animated: YES];
}
Код выше - именно то, что я использую. Мне просто нужно заставить камеру на самом деле показать, как-нибудь. Спасибо!
* Примечание: я использую iOS 5 и ARC.