2011-06-30 11 views
8

He encontrado muchos artículos y tutoriales en línea sobre cómo hacer complementos para Photoshop en una Mac. El problema es que muchos son antiguos, se aplican solo a CS1/2/3/4 o se refieren a herramientas o API que (al parecer) están obsoletas. Algunos artículos dicen que debe usar CodeWarrior, pero parece que esto ya no existe en el mundo de la programación de Mac.¿Qué herramientas se necesitan para compilar complementos para Photoshop CS5?

Hoy, en 2011, haciendo complementos solo para CS5 y solo en una Mac con Snow Leopard, ¿cuál es la herramienta adecuada y qué bibliotecas/API/frameworks debería usar?

Tengo la impresión de que Carbon (independientemente de lo que sea) es viejo y debe evitarse, pero no está claro si eso es cierto para los complementos. No tengo claro si debería usar Cocoa (lo que sea que sea) o no. Creo que necesitaré Core Foundation (lo que sea ...) ¿Hay una opción de 64 contra 32 bits o CS5 es puramente de 64 bits y eso es todo? (Prefiero 64 bits, por supuesto). Tengo el Photoshop CS5 SDK y Photoshop CS5 sí mismo instalado.

Can XCode se puede utilizar como un IDE? Voy a codificar manualmente un archivo MAKE y compilarlo en la línea de comandos, si es más fácil o la única manera posible. Si se puede usar XCode, ¿qué plantilla de proyecto usar? ¿De qué se trata este "Mach-O" que leí y cómo se aplica eso a los complementos de PS?

Es especialmente confuso ya que soy un novato total en la programación de Mac de cualquier tipo, aunque tengo muchos años de experiencia en Linux y otras plataformas.

+0

[Cocoa] (http://en.wikipedia.org/wiki/Cocoa_%28API%29) – prodigitalson

Respuesta

6

¡Misión cumplida! (Hace meses ... Me acabo de dar cuenta de que tenía esta pregunta aquí).

Cocoa es útil para ventanas de configuración de GUI y otras cosas, es una gran cantidad de cosas, pero terminé usándola solo para el "Acerca de" ventana emergente para mi complemento.

Olvídese por completo de Carbon para la combinación de CS5 o posterior, OSX 10.6 o posterior, y 64 bit. Al parecer, partes de carbono se habían fabricado en 64 bits en el pasado, pero deberían ignorarse ahora.

XCode es un excelente editor. Comience con un proyecto "dylib" utilizando C. C++ y los archivos fuente Obj-C se pueden agregar sin ningún problema. No hay forma de moverse solo con la necesidad de utilizar XCode para algunos proyectos de juguetes simples para familiarizarse con la forma en que organiza las cosas y crea aplicaciones y bibliotecas. Esta es la única "herramienta" real que se necesita; el resto son API: archivos de encabezado y bibliotecas (o "frameworks" en el mundo de Apple). Mientras juega con XCode, conozca qué es un "paquete": una carpeta que contiene el ejecutable y otros archivos que necesita la aplicación.

Las rutas deben configurarse en la API de Photoshop CS5, habiendo dos o tres directorios específicos para ser enumerados. Es posible que deba copiar ciertos archivos fuente comunes fuera del directorio de complementos de ejemplo de Photoshop, y hubo un poco de problemas con un archivo llamado MachOMacrezXcode.h sobre el cual vea What is the meaning of exit code 3 from Rez?

Desafortunadamente no había ejemplos verdaderamente útiles de bien escritos complementos para CS5 en 64 bits. Una combinación del ejemplo de disolución, el plugin de lectura/escritura del archivo SimpleFormat, la exploración de fuente para complementos al http://www.telegraphics.com.au/sw/product/FilterFoundry y la realización de preguntas en el foro de Adobe Photoshop SDK.

No preste atención al torpe proceso de utilizar un "conjunto de complementos" para obtener memoria. Es como la antigua API de Windows de 16 bits de Microsoft donde necesitabas "manejadores de memoria" y malarky grueso que ahora es varias veces obsoleto. Estos días, bueno ol malloc/free o new/delete están bien.

Con todas las heridas de punta de flecha que ahora tengo en la espalda, tal vez debería escribir un libro o algo ...

+0

Por cierto, todavía no sé exactamente qué se refiere a "Mach-O", o simplemente cómo Core Foundation y otras cosas encajan en el panorama general. – DarenW

+0

¿Podría compartir más datos que obtuvo? – Royi

+0

¿Podría compartir su código? – svth

Cuestiones relacionadas