Prendre une photo avec l'iPhone et l'utiliser!

J'ai une appli qui prend une photo et la met dans un affichage de l'image. Simple.
Code ressemble à ceci:

- (void)takePhoto:(id)sender
{
    //Lazily allocate image picker controller
    if (!imagePickerController) {
        imagePickerController = [[UIImagePickerController alloc] init];

        //If our device has a camera, we want to take a picture, otherwise, we just pick from
        //photo library
        if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])
        {
            [imagePickerController setSourceType:UIImagePickerControllerSourceTypeCamera];
        }else
        {
            [imagePickerController setSourceType:UIImagePickerControllerSourceTypePhotoLibrary];
        }

        //image picker needs a delegate so we can respond to its messages
        [imagePickerController setDelegate:self];
    }
    //Place image picker on the screen
    [self presentModalViewController:imagePickerController animated:YES];
}

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
    UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];

    image = [ImageHelpers imageWithImage:image scaledToSize:CGSizeMake(480, 640)];

    [imageView setImage:image];

    [self dismissModalViewControllerAnimated:YES];
}

Lorsque j'utilise la Camera Roll tout fonctionne très bien, mais si j'utilise la Caméra de l'affichage des images est tout noir. Pourquoi est-ce?

Dois-je l'enregistrer dans la pellicule avant, je l'utilise pour l'affichage de l'image?

Définir un point d'arrêt pour vérifier si l'image est nul lorsqu'il est transmis à ImageHelpers
Non qu'il semble ne pas être nul. Je peux enregistrer la photo à pellicule à l'aide de: UIImageWriteToSavedPhotosAlbum (), afin que l'image existe dans la variable. Il semble perdu quand je l'attribuer à l'imageView.
Je suppose que je dois l'enregistrer quelque part avant de me l'envoyer à mon avis. Quelle serait la meilleure approche ici?

OriginalL'auteur Linus | 2011-04-29