сбой кода камеры на iPad2 - PullRequest
0 голосов
/ 31 мая 2011

Я использую камеру в своем приложении для iPhone, и когда я открываю это приложение на своем iPad2, оно падает, когда я нажимаю эту кнопку камеры ..

Вот мой код для использования камеры

-(void) loadCamera{



UIImagePickerController *imagePickerController = [[UIImagePickerController alloc] init];

    [imagePickerController setSourceType:UIImagePickerControllerSourceTypeCamera];
    [imagePickerController setDelegate:self];


    [imagePickerController setAllowsEditing:YES];
    [self presentModalViewController:imagePickerController animated:NO];
    [imagePickerController release];

}

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo 
{

//      UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"" message:@"" delegate:nil cancelButtonTitle:@"ok" otherButtonTitles:nil];
//      [alert show];
//      [alert release];

        [picker dismissModalViewControllerAnimated:YES];

    //      // Access the uncropped image from info dictionary
        //  UIImage *image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
            self.cameraimage.image=image;
            self.tinyImage.image=image;

        // Make the needed component visible
            self.cameraimage.hidden=NO;
            self.RemoveImage.hidden=NO;
            self.RetakePicture.hidden=NO;
            self.addphoto.hidden=YES;

            // Save image
            [constants saveImage:image withName:self.largeImageName];
            [constants saveImage:image withName:self.tinyImageName];
}

Этот код хорошо работает на iPhone, но на iPad2 он разбился.

Мое приложение не для iPad ....., но запускаю его с помощью 2x в iPad

пожалуйста, помогите.

1 Ответ

0 голосов
/ 31 мая 2011

Вы должны всегда сначала проверять isSourceTypeAvailable: first

UIImagePickerControllerSourceType sourceType = UIImagePickerControllerSourceTypeCamera;
if([UIImagePickerController isSourceTypeAvailable:sourceType])
{
    UIImagePickerController *picker = [[UIImagePickerController alloc] init];
    picker.sourceType = sourceType;
    picker.delegate = self;
    if(sourceType == UIImagePickerControllerSourceTypeCamera)
        [picker takePicture];
    [self presentModalViewController:picker animated:YES];
    [picker release];
}
...