alidação @PNG no iOS

Escrever um aplicativo de mapeamento no iOS, usando os blocos do OpenStreetMap. As imagens de bloco de mapa são baixadas de forma assíncrona e armazenadas em um dicionário ou mantidas em um banco de dados SQLit

casionalmente, por qualquer motivo, ao tentar renderizar uma imagem de bloco de mapa, recebo o seguinte erro:
ImageIO: <ERROR> PNGinvalid distance too far back

Isso faz com que quadrados pretos desagradáveis apareçam sobre o meu map

Este é o código em que isso ocorre:

NSData *imageData = [TileDownloader RetrieveDataAtTileX:(int)tilex Y:(int)tiley Zoom:(int)zoomLevel];  
if (imageData != nil) {
    NSLog(@"Obtained image data\n");
    UIImage *img = [[UIImage imageWithData:imageData] retain];
    // Perform the image render on the current UI context.  
    // ERROR OCCURS BETWEEN PUSH AND POP
    UIGraphicsPushContext(context);
    [img drawInRect:[self rectForMapRect:mapRect] blendMode:kCGBlendModeNormal alpha:1.0f];
    UIGraphicsPopContext();
    [img release];
}

gora, o que estou procurando é uma maneira de garantir que um png seja válido antes de tentar renderizá-lo no meu map

Editar O sistema também ocasionalmente gera este erro:
ImageIO: <ERROR> PNGIDAT: CRC error

questionAnswers(4)

yourAnswerToTheQuestion