J'ai un fichier NIB avec un bouton. Lorsque je clique sur ce bouton, le sélecteur setWallpaper: est appelé. Tout fonctionne comme prévu (l'image est sauvegardée), excepte par l'erreur lancée par malloc.UIImageWriteToSavedPhotosAlbum avec malloc_error
malloc: *** error for object 0x184d000: pointer being freed was not allocated ***
set a breakpoint in malloc_error_break to debug
J'ai mis un point d'arrêt à malloc_error_break, mais je ne comprends rien du débogueur. Je ne pouvais même pas trouver l'objet 0x184d000. Est-ce que quelqu'un sait pourquoi cela se passe-t-il? J'avais aussi essayé de conserver l'UIImage avant de l'envoyer à UIImageWriteToSavedPhotosAlbum, mais sans succès.
Mon code est ci-dessous:
- (IBAction)setWallpaper:(id)sender {
UIImage *image = [UIImage imageNamed:@"wallpaper_01.png"];
UIImageWriteToSavedPhotosAlbum(image, self, @selector(image:didFinishSavingWithError:contextInfo:), nil);
}
- (void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo {
UIAlertView *alertView = [[UIAlertView alloc]
initWithTitle:NSLocalizedString(@"Galo!!!",@"Saved image message: title")
message:NSLocalizedString(@"Now, check your \"saved photos\" group at \"photos\" app in your iPhone and select the actions menu > set as wallpaper.",@"Saved image message")
delegate:nil
cancelButtonTitle:NSLocalizedString(@"OK",@"OK Button")
otherButtonTitles:nil];
[alertView show];
[alertView release];
}
Je l'ai fait ... et toujours obtenir la même erreur ... En passant, je reçois deux messages d'erreur du malloc. Les deux sont exactement les mêmes. Maintenant, j'ai créé un projet vide, et copié mon ViewController + NIB et ça a bien fonctionné là ... Je vais vérifier tout cadre ou lib ajouté au projet provoque un bug ... –