UIImage z CGImageRef
Próbuję prostego testu dla znacznie bardziej złożonego projektu, ale jestem zaskoczony, dlaczego poniższy kod zawiesza się i daje błąd EXC_BAD_ACCESS?
Jest to wywoływane z UIView.
- (void)testing {
NSString *imagePath = [[NSBundle mainBundle] pathForResource:@"ball.png" ofType:nil];
CGImageRef imageRef = [[[UIImage alloc]initWithContentsOfFile:imagePath]CGImage];
// CGImageRetain(imageRef);
UIImage *newImage = [[UIImage alloc]initWithCGImage:imageRef];
UIImageView *iv = [[UIImageView alloc]initWithImage:newImage];
[self addSubview:iv];
}
Domyślam się, że CGImageRef nie jest zachowywany, ale dodaje CGImageRetain (imageRef); nie robi różnicy.
Powinienem również zauważyć, że ten projekt ma włączoną funkcję ARC.
EDYTOWAĆ
Zrobiłem trochę więcej testów i odkryłem, że jest to bezpośrednio związane z ARC, ponieważ stworzyłem 2 podstawowe projekty zawierające tylko powyższy kod. Pierwszy z ARC był wyłączony i działał idealnie. Następny z włączonym ARC i awarią BAM z tym samym błędem. Interesującą rzeczą jest to, że otrzymałem rzeczywisty błąd dziennika TYLKO przy pierwszym uruchomieniu projektu przed awarią.
Error: ImageIO: ImageProviderCopyImageBlockSetCallback 'ImageProviderCopyImageBlockSetCallback' header is not a CFDictionary...