¿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.
¿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.
Respuestas:
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.
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.
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:
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:
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 ;-)
MainMenu.nib
no funciona