У меня есть файл NIB с кнопкой. Когда я нажимаю эту кнопку, вызывается селектор setWallpaper :. Все работает как положено (изображение сохранено), за исключением ошибки, выдаваемой malloc.
malloc: *** error for object 0x184d000: pointer being freed was not allocated ***
set a breakpoint in malloc_error_break to debug
Я установил точку останова на malloc_error_break, но я ничего не понимаю из отладчика. Я даже не мог найти объект 0x184d000. Кто-нибудь знает, почему это происходит? Я также пытался сохранить UIImage перед отправкой его в UIImageWriteToSavedPhotosAlbum, но безуспешно.
Мой код ниже:
- (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];
}