Desarrollo de plugins Xcode 4

He estado buscando por todo el lugar, pero no puedo encontrar nada. ¿Alguien sabe dónde encontrar documentación sobre cómo crear un complemento de Xcode 4?

Por lo que yo sé, no hay una forma oficial de crear los complementos de Xcode 4 (al igual que no había ninguno para v3.x).

Aquí hay un openradar sobre la falta de soporte de complementos de Xcode:

Admite la posibilidad de que terceros amplíen Xcode a través de una API de complemento público. Aperture, Visual Studio, Eclipse, TextMate y otras aplicaciones se benefician de esta capacidad. Me gustaría ver refactorizaciones más avanzadas, análisis de código (piense en Resharper por Jetbrains) y modelado.

Proporcionar API de complemento para Xcode 4 (rdar: // 8622025)

Por favor, duve esto si quieres complementos !


Editar: Acabo de tropezar con esto:

Cédric Luthi : ” Xcode 4 admite complementos definidos por el usuario , consulte CLITool-InfoPlist para ver un ejemplo de un complemento de Xcode 4 que funciona. Solo tiene que agregar XC4Compatible (verdadero) en Info.plist”.

https://github.com/0xced/CLITool-InfoPlist


Dicho esto, estos repositorys de GitHub también podrían ser útiles:

  • Documentación de X-API4 Plugin-API ( enlace muerto )

  • Plantilla de complemento Xcode ( enlace actualizado )


Más aún , el complemento Xmod de mogenerator podría ser un buen punto de partida.
(Todavía no era compatible con Xcode-4, la última vez que lo comprobé)

La mejor forma de aprender es mirar el código del complemento github (consulte la lista larga a continuación):

  • Básicamente es un paquete de complementos.
  • No main.m No MainMenu.xib
  • Primera clase cargada configurando NSPrincipalClass en info.plist
  • en su inicio: te registras para las notificaciones de AppKit
  • Vea el código de muestras
  • algunos verifican el ID de la aplicación mainBundle para asegurarse de que este sea XCode
  • La clase de ventana del editor de XCode es DVTSourceTextView
  • Es una subclase de DVTSourceTextView: NSTextView: NSText
  • para que pueda registrarse y escuchar sus notificaciones para NSTextView o NSText
  • como NSTextViewWillChangeNotifyingTextViewNotification

Debido a que no es un estándar oficial, noté que cada muestra se carga de diferentes maneras.

MUESTRAS DE PLUGIN XCODE

comstackdo ya sea buscando github / web para

'DVTSourceTextView' 

Este es el nombre de la clase de ventana del editor de Xcode

o

Clave de lista de información

 'XC4Compatible' https://github.com/omz/ColorSense-for-Xcode https://github.com/ciaran/xcode-bracket-matcher - uses a ruby parser run as pipe! https://github.com/joshaber/WTFXcode https://github.com/0xced/NoLastUpgradeCheck http://code.google.com/p/google-toolbox-for-mac/downloads/list see GTMXcode4Plugin https://github.com/DeepIT/XcodeColors https://github.com/0xced/CLITool-InfoPlist https://github.com/sap-production/xcode-ide-maven-integration https://github.com/ciaran/xcode-bracket-matcher 

PARA LLEGAR AL NSTextView que es la consola

https://github.com/sap-production/xcode-ide-maven-integration

 - (NSTextView *)findConsoleAndActivate { Class consoleTextViewClass = objc_getClass("IDEConsoleTextView"); NSTextView *console = (NSTextView *)[self findView:consoleTextViewClass inView:NSApplication.sharedApplication.mainWindow.contentView]; if (console) { NSWindow *window = NSApplication.sharedApplication.keyWindow; if ([window isKindOfClass:objc_getClass("IDEWorkspaceWindow")]) { if ([window.windowController isKindOfClass:NSClassFromString(@"IDEWorkspaceWindowController")]) { id editorArea = [window.windowController valueForKey:@"editorArea"]; [editorArea performSelector:@selector(activateConsole:) withObject:self]; } } } return console; } 

Eche un vistazo a este nuevo complemento: https://github.com/sap-production/xcode-ide-maven-integration . Tal vez puedas derivar algunos conceptos para tu complemento.

Ayer se lanzó ColorSense para Xcode 4 en Github. Como el código es realmente compacto y se divide en solo 3 clases, creo que deberías echarle un vistazo.

Xcode no tiene una API de plug-in pública.

Este fue el caso con versiones anteriores, y es el caso con Xcode 4 también.

Eche un vistazo a este artículo: Xcode 4: Complementos de Interface Builder

No, Xcode no es compatible con complementos, o puede probar AppCode, otro IDE para iOS / MacOS, sí admite el desarrollo de complementos.