2011-10-07 7 views
6

Tengo una aplicación que casi termino ahora que envía correos electrónicos, al final de un flujo de entrada de datos, dos archivos .pdf. Uno de estos se genera a partir de los datos ingresados, el otro es un archivo estático que será el mismo en cada instancia.¿Cómo accedo a un archivo del grupo "Archivos de soporte" de Xcode, en la aplicación?

El primer pdf se está generando bien, se guarda en la carpeta de documentos de las aplicaciones y se adjuntó correctamente a un correo electrónico para enviar. Es el segundo .pdf, uno que hice externamente a la aplicación y estoy tratando de agregar, que me está causando dolor.

Lo he agregado a la carpeta 'Archivos de soporte' dentro de mi proyecto Xcode, pero después de mucha búsqueda aquí y en línea, no puedo encontrar la forma de acceder a ese archivo para poder agregarlo como un archivo adjunto en el correo electrónico. Después de haber "descargado" los datos de la aplicación desde el Organizador en Xcode, puedo ver que el archivo no está en ninguna parte; presumiblemente porque Xcode puede ver que el archivo no se está utilizando en ninguna parte, no lo está agregando en el momento de la construcción (una suposición de mi parte), pero no sé cómo hacer referencia a él en cualquier lugar porque no sé dónde será para referenciarlo!

Respuesta

9

El Xcode no genera ninguna carpeta en su paquete de aplicaciones que corresponda a los grupos. Solo asegúrate de que tu PDF esté presente en los Recursos del paquete de copia en las Fases de compilación de tu objetivo. A continuación, accede a tu recurso bajo la ruta [[NSBundle mainBundle] bundlePath].

+0

Eso es fantástico, gracias mja, ¡me apuntó en la dirección correcta! – zeroCube

3

Si desea acceder a una imagen, este código es una buena muestra de como la forma de:

NSString* imageName = [[NSBundle mainBundle] pathForResource:@"image1" ofType:@"png"]; 
NSImage* imageObj = [[NSImage alloc] initWithContentsOfFile:imageName]; 
0

En Swift se puede obtener el paquete-resorce-camino con la siguiente función:

func currentresourcepath() -> String 
{ 
    return (NSBundle.mainBundle().bundlePath + "/Contents/Resources/") 
} 
Cuestiones relacionadas