¿Cómo puedo editar las interfaces de usuario de los programas de Mac OS X?

5

¿Cómo puedo editar las interfaces de usuario de los programas de Mac OS X? Me gustaría modificar la configuración de algunos programas, como el tamaño de las ventanas.

cwd
fuente
Esto está relacionado con el tema porque es un pirateo de recursos simple y no requiere conocimientos de programación, por lo tanto no es programación. Solo queremos modificar y reparar aplicaciones de terceros a las que no tenemos el código fuente.
Daniel Beck
Pregunta impresionante Muchas gracias. Teniendo una oportunidad en el turke de Turfoil 5 en este momento. ¿Qué pasó con el buen gusto gris y cromo?
Foliovision

Respuestas:

13

Las aplicaciones de Mac OS X que se crean utilizando Xcode tenían su GUI comúnmente diseñada utilizando Interface Builder (ahora integrado en Xcode 4)

Las definiciones de la GUI se almacenan en archivos con la extensión. .nib y en el Contents/Resources Directorio del paquete de aplicaciones finalizadas. Estos archivos se pueden editar utilizando Interface Builder, ya que no se compilan de la misma manera que los archivos de código fuente.


El siguiente ejemplo edita el archivo de definición de ventana Acerca de Reeder , un lector comercial de RSS / ATOM.

Sus Reeder.app/Contents/Resources/About.nib. Si abrimos este archivo en Interface Builder, no se mostrará. Durante algún tiempo, .nib los archivos se distribuyen en una forma "compilada", tal vez porque su edición estaba demasiado extendida.

Para poder editar el .nib archivos, necesitamos "descompilarlos" utilizando, por ejemplo, este programa llamado NibDecompiler . Descargar y copiar el NibDecompiler.workflow archivo a ~/Library/Services. Ahora habrá un NibCompiler entrada de menú contextual en archivos que podemos utilizar para hacer el .nib Archivos editables.

enter image description here

Crear una copia de Reeder's. Reeder.app/Contents/Resources/About.nib en su escritorio, "descompírelo" desde su menú contextual y ábralo en Interface Builder o Xcode 4.

enter image description here

Ahora puede editar, por ejemplo, la etiqueta que contiene el nombre del programa. Guarde y reemplace el archivo original en el paquete de aplicaciones de Reeder. Inicia Reeder y comprueba por ti mismo:

enter image description here

Podemos ver claramente en el editor, que no todo está diseñado en Interface Builder. Algunas aplicaciones pueden crear su IU completa en código, y no necesitan .nib archivos en absoluto. Otros crean solo las partes más elaboradas de algunas ventanas en código. Solo podemos editar usando este enfoque lo que fue diseñado en el .nib archivos.

Eso significa que puede cambiar el tamaño de las ventanas definidas en estos archivos:

enter image description here

Pero si sus contenidos se crean mediante programación, no se desilusione porque los desarrolladores no se desarrollaron con sus cambios en mente y, por ejemplo, saltos de diseño.


Los recursos de edición interrumpirán la firma de código, que se usa para Firewall OS X y AFAIK, autenticación de Llavero (para permitir el acceso después de que las actualizaciones de la aplicación se realicen automáticamente)

Dado que algunas aplicaciones cargan .nib y luego realice algunos cambios adicionales (por ejemplo, al insertar el número de versión en el cuadro de diálogo Acerca de), es posible que realmente rompa alguna funcionalidad cuando haga esto. Probablemente no deberías hacer esto, en realidad ;-)

Daniel Beck
fuente
Desafortunadamente, los desarrolladores de PandoraJam cambian el tamaño de la ventana en código una vez que se ha cargado, para editar su MainMenu.nib no funciona
Daniel Beck