ImageWithContentsOfFile No Returning Image

UIImage * image = [UIImage imageWithContentsOfFile: filePath];

He usado este método cien veces antes y siempre funcionaba, pero ahora solo regresa "Nulo", busqué en Google e intenté con

NSBundle *bundle = [NSBundle mainBundle]; NSString *filePath = [bundle pathForResource: @"fileName" ofType:@"png"]; UIImage *image=[UIImage imageWithContentsOfFile:filePath]; 

Pero aún no funciona, también intenté usar

UIImage * image = [UIImage imageWithData: [NSData dataWithContentsOfFile: filePath]];

Todavía obtienes "nulo",

Y no puedo usar el Método

  UIImage *image=[UIImage imageNamed:@"image.png"]; 

Dado que estoy descargando las imágenes dentro de mi directory de documentos de aplicaciones dentro de una carpeta "tmp" y luego usando la ruta donde las he descargado y luego intentando acceder a ella, por lo tanto, necesito este método "imageWithContentsOfFile:" para trabajar desesperadamente

¿Puede alguien ayudarme a salir de esto? Gracias por ayuda de antemano.

No estoy seguro de si el problema que estaba teniendo es el mismo que el tuyo, pero de repente tuvimos este problema donde obtuvimos cero para nuestras imágenes cuando usamos la ruta completa del file y usamos el método imageWithContentsOfFilePath.

Encontramos después de un poco de debugging que el NSHomeDirectory () (que básicamente es su location en la zona de testing), ahora cambia en cada lanzamiento. Nuestro problema fue que estábamos almacenando toda la ruta del file y en los siguientes lanzamientos, intentando recuperarlos de la misma ruta de file completa, que ya no existía.

Por ejemplo, en un inicio, su directory de inicio podría ser: / var / mobile / Containers / Data / Application / 844B1DDA-49AB-4B5C-AC76-2BBF1397B142 pero sería diferente en el siguiente: / var / mobile / Containers / Data / Aplicación / C620B610-3839-4134-9DF7-C5756F22BBCE. Por lo tanto, si almacena routes de file para uso futuro, tendrá que determinar la porción del directory de inicio de la ruta del file en el momento que la necesite y simplemente almacenar la ruta relativa del file / image.

 NSString *filePath = [NSString stringWithFormat:@"%@/%@", [self retrieveHomeDirectoryPath], relativeFileLocationPath]; UIImage *image = [UIImage imageWithContentsOfFile:filePath]; 

Aquí retrieveHomeDirectoryPath simplemente devolvería el resultado de NSHomeDirectory () o NSTemporaryDirectory () y relativeFileLocationPath sería la ruta relativa a esa location específica.

Supongo que hay algo mal en su import. Xcode hace cosas divertidas a veces.

Haga clic derecho en la image en sus resources y elimine y elimine la reference. Vuelva a importar y asegúrese de seleccionar el cuadro que dice copyr.

Así configuré las imágenes.

 self.someUIImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"somePictureThatExists.png"]]; 

O más simplemente:

 self.someUIImageView = [UIImage imageNamed:@"somePictureThatExists.png"]; 

Editar:

También limpiaría el proyecto cuando encuentre problemas como este.

Comando + Mayús + K o Product>Clean

Como debe cargar la image desde el directory de documentos, primero acceda utilizando el siguiente código

 NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDir = [documentPaths objectAtIndex:0]; NSString *pngfile = [documentsDir stringByAppendingPathComponent:@"fileName.png"]; & then apply filename to imageview like imageView.image=[UIImage imageWithData:[NSData dataWithContentsOfFile:pngfile]]; 

Aquí el nombre de file.png es el nombre del file png que ha guardado en el directory de documentos de aplicaciones.