0

J'ai donc créé une application complète et fonctionne parfaitement comme je l'avais imaginé. Créé une mise à jour qui utilise UIImages, et qui fonctionne parfaitement aussi bien sur iOS 4 et plus. Pour une raison quelconque, le même code ne fonctionnera pas de la même manière sur la version 3.0. Étant donné que l'application d'origine est sur le magasin à min OS étant 3, je ne veux pas juste couper ma base d'utilisateurs en raison d'une erreur stupide de ma part. Je ne fais rien de nouveau, donc tout devrait être rétrocompatible.UIImagePickerController ne fonctionne pas pour iOS 3 fonctionne encore pour iOS 4 ... problème de compatibilité ascendante

Fondamentalement, l'application prend une image choisie à partir de la caméra ou de l'album photo, puis l'enregistre et affiche l'image sur l'écran. Lorsque vous passez à l'écran suivant, il extrait le fichier image du disque et l'affiche dans la vue de l'image sur l'écran suivant. Encore une fois, fonctionne très bien sur iOS4 et supérieur. Si vous utilisez la version 3.0 sur une ancienne version de xcode, elle ne fonctionnera pas de la même manière. Je sais que allowImageEditing a changé pour allowEditing, donc je l'ai autorisé, mais tout le reste, selon les docs, devrait fonctionner sur iOS 3 et supérieur.

Voici mon album photo et je reviens.

-(IBAction) getPhotoFromAlbum { 
UIImagePickerController *picker = [[UIImagePickerController alloc] init]; 
picker.delegate = self; 

if (editingSwitch.on) { 

    #ifdef __IPHONE_3_0 
     picker.allowsImageEditing = YES; 
    #else 
     picker.allowsEditing = YES; 
    #endif 
} else if (!editingSwitch.on) { 

    #ifdef __IPHONE_3_0 
     picker.allowsImageEditing = NO; 
    #else 
     picker.allowsEditing = NO; 
    #endif 
} 

picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; 

[self presentModalViewController:picker animated:YES]; 

[picker release]; 

}

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { 

[picker dismissModalViewControllerAnimated:YES]; 

UIImage *image = nil; 

if (editingSwitch.on) { 

    image = [info objectForKey:@"UIImagePickerControllerEditedImage"]; 
    [[NSUserDefaults standardUserDefaults] setBool:YES forKey:isImageEdited]; 

} else if (!editingSwitch.on) { 

    image = [info objectForKey:@"UIImagePickerControllerOriginalImage"]; 
    [[NSUserDefaults standardUserDefaults] setBool:NO forKey:isImageEdited]; 

} 


imageView.image = [self imageWithImage:image]; 

imageView.hidden = NO; 

buttonPreview.hidden = YES; 

[NSThread detachNewThreadSelector:@selector(myThreadSavingImage) toTarget:self withObject:nil]; 

[activitySaving startAnimating]; 

Quand je debug, il semble que les informations qui revient dans le sélecteur a 1 seule clé. Quand il définit l'image, l'image est vide. Fondamentalement aucune image ne revient jamais et si pour une occasion rare il le fait, comme lorsque je modifie l'image et ne pas utiliser seulement l'original, il n'apparaît pas sur la page suivante.

J'espère que tout le monde peut vous aider car l'application est terminée en plus de ce problème 3.0 et il est frustrant car je veux le sortir bientôt.

Répondre

1

Il s'avère que cela ne fonctionnait pas sur le simulateur en raison des mises à jour du programme xcode. Une fois installé sur un périphérique 3.0, le code fonctionnait parfaitement.

Questions connexes