Error al cargar pngs desde un .bundle en Objective-c

Estoy construyendo un marco en mi proyecto Xcode. Para crear el marco, creé un objective agregado. El marco consiste en la biblioteca estática, los files de encabezado y el package de activos .png, MyFrameworkResources.bundle . Cuando construyo el agregado, todo se crea con éxito y el package existe en mi directory de productos.

También en mi proyecto Xcode hay una aplicación de destino. Esta aplicación es para probar los productos marco (biblioteca estática, files de encabezado y package). MyFrameworkResources.bundle la biblioteca estática y MyFrameworkResources.bundle a las dependencies de destino de la aplicación de destino. También agregué MyFrameworkResources.bundle para copyr los resources del package en Fases de compilation de la aplicación de destino.

Puedo usar todos los files de la biblioteca estática bien, pero me sale un error al intentar cargar resources del package. Así es como cargué los activos del package:

 NSString *mainBundlePath = [[NSBundle mainBundle] resourcePath]; NSString *frameworkBundlePath = [mainBundlePath stringByAppendingPathComponent:@"MyFrameworkResources.bundle"]; NSBundle *frameworkBundle = [NSBundle bundleWithPath:frameworkBundlePath]; NSLog(@"bundle: %@", frameworkBundle); NSError *error; [frameworkBundle loadAndReturnError:&error]; // <-- THIS RETURNS AN ERROR NSLog(@"error: %@", error); UIImage *image = [UIImage imageWithContentsOfFile:[frameworkBundle pathForResource:@"AnyImage" ofType:@"tiff"]]; // <-- EDIT, USE "tiff", NOT "png" 

Cuando logging el package, obtengo esto:

bundle: NSBundle / Users / my_comp / Library / Application Support / iPhone Simulator / 6.1 / Aplicaciones / blah-blah-blah / MyApp.app / MyFrameworkResources.bundle (todavía no se ha cargado)

Cuando logging el error, obtengo esto:

error: Error Domain = NSCocoaErrorDomain Code = 4 "El package" MyFrameworkResources "no se pudo cargar porque no se pudo ubicar su ejecutable". UserInfo = 0x7535ee0 {NSLocalizedRecoverySuggestion = Intente reinstalar el package., NSLocalizedFailureReason = El ejecutable del package no se pudo ubicar., NSLocalizedDescription = El package "MyFrameworkResources" no se pudo cargar porque su ejecutable no se pudo ubicar., NSBundlePath = / Users / my_comp / Library / Application Support / iPhone Simulator / 6.1 / Aplicaciones / blah-blah-blah / MyApp.app / MyFrameworkResources.bundle}

Por lo tanto, para verificar dos veces, cd'd en /Users/my_comp/Library/Application Support/iPhone Simulator/6.1/Applications/blah-blah-blah/MyApp.app/ en mi computadora, y MyFrameworkResources.bundle estaba realmente allí. Entonces ahora estoy perdido. He intentado limpiar el objective agregado, limpiar la aplicación de destino, eliminar la aplicación de destino y no tener suerte.

¿Alguna idea de por qué no puedo cargar imágenes del package? (perdón por la larga descripción)

Fyi, he estado usando este gran tutorial como una guía para build el marco y el package.

Ah después de luchar en esto un poco más, cd'd en MyFrameworkResources.bundle solo para comprobar que todos los activos estaban incluidos. Resulta que Xcode cambió el nombre de los files .png a files .tiff y eliminó los activos de retina. Después de más investigaciones, descubrí que Xcode combina automáticamente los files .png retina y no retina en un "TIFF de una sola página" . Aquí hay una reference .

Solución, use ofType:@"tiff" lugar de ofType:@"png" :

 UIImage *image = [UIImage imageWithContentsOfFile:[frameworkBundle pathForResource:@"AnyImage" ofType:@"tiff"]];