2010-12-20 18 views
5

¿Existe alguna forma de agregar múltiples recursos con el mismo nombre a un proyecto de Xcode y que uno de ellos tenga prioridad sobre los demás?Uso de recursos con el mismo nombre en Xcode

Ejemplo: Agregué 2 archivos, ambos llamados icon.png, a un proyecto de Xcode. Se encuentran en diferentes carpetas en el sistema de archivos (Folder1/icon.png y Folder2/icon.png) y en diferentes grupos en Xcode. ¿Hay alguna manera de decirle a Xcode que tenga Folder2/icon.png como prioridad sobre Folder1/icon.png? Y si solo existe 1 icon.png, entonces usa ese.

Gracias.

EDITAR (2010-12-23):

Es posible tener varios archivos con el mismo nombre en un proyecto de Xcode, incluso si no están en las referencias de carpetas separadas, pero están en grupos separados. Una vez compilado, el paquete de la aplicación (que será plano sin carpetas) solo tendrá una copia del archivo (icon.png). ¿Cómo eliges qué copia del archivo usar?

Me dijeron que puede hacer esto para BlackBerry. Funciona de la siguiente manera: el compilador irá a la lista de archivos en el proyecto y comenzará a agregarlos al paquete de la aplicación. Si ve un duplicado, lo sobrescribirá (o no), por lo que los archivos en la parte inferior (o en la parte superior) tendrán una mayor precedencia y serán el paquete final.

+1

Parece que esta es la solución incorrecta, un problema del que no estoy seguro. ¿Por qué no editas la pregunta y podemos encontrar mejores soluciones para resolver tu problema original? – coneybeare

Respuesta

1

Esto puede resolverse mejor fácilmente mediante el uso de carpetas dentro de un paquete de recursos en su proyecto de Xcode. Eche un vistazo aquí: http://developer.apple.com/library/mac/#documentation/CoreFoundation/Conceptual/CFBundles/Introduction/Introduction.html

+0

¿Hay alguna manera de hacerlo sin tener que usar referencias de carpeta? El generador de interfaz no parece recoger archivos dentro de carpetas que se han agregado por referencia (iconos de carpeta azul), aunque funciona cuando escribe el nombre manualmente, es decir, /folder1/mail_icon.png. – Roberto

1

Espere un segundo, ya que mencionó específicamente icon.png, ¿está tratando de suministrar diferentes iDevices (iPad, iPhone4, iTouch3 ...) con diferentes imágenes de iconos?

En caso afirmativo, mira esto, http://d.pr/W2w0, Apple ya nos ha proporcionado una forma de terminar esta tarea con comodidad. Todo lo que necesita hacer es seguir una convención de nomenclatura específica.

+0

Gracias, pero estoy al tanto de esto. Estoy tratando de suministrar diferentes iconos para diferentes clientes. Tengo una aplicación que usa un montón de iconos predeterminados, pero el cliente X quiere utilizar su propio mail_icon.png y el cliente Y desea hacer lo mismo. ¿Hay alguna manera de decirle a Xcode "si hay 2 archivos mail_icon.png, use el de esta carpeta" sin tener que usar referencias de carpeta? – Roberto

+0

Bueno, entonces no tengo ni idea ... También estoy interesado en la respuesta. ¿Alguien puede ayudar? –

-1

Qué debemos hacer si tenemos una situación como esta es:
Tenemos varias subcarpetas en el nivel de sistema de archivos del directorio del proyecto y añadirlos a Xcode en grupos separados.
Esto funciona bien. Para construir realmente, tratamos de evitar los archivos con el mismo nombre en un objetivo. Icon.png e iTunesArtwork solo se agregan una vez en cada objetivo.
Acaba de demostrar ser una Maintainability Nightmare

+0

¿Qué pasa si quieres tener un grupo llamado GenericIcons y otro grupo llamado ClientSpecificIcons y contienen información como esta? GenericIcons tiene mail.png, star.png, bill.png; y ClientSpecificIcons solo tiene mail.png y star.png. Quiero usar mail.png y star.png de ClientSpecificIcons y solo bill.png de GenericIcons. ¿Cómo puedo hacer eso?En otras palabras, ¿cómo hago que el grupo ClientSpecificIcons tenga prioridad sobre el grupo GenericIcons? – Roberto

+0

¿Por qué querrías eso? simplemente configure sus objetivos correctamente para que solo se incluyan los objetos necesarios. Todo lo demás me parece peligroso. – LordT

Cuestiones relacionadas