2012-09-18 7 views
12

Recentemente ho notato un paio di progetti su github che estendono la funzionalità di Xcode 4 tramite plugin.C'è qualche documentazione per creare plugin Xcode 4?

due progetti come esempi di @olemoritz:

  • MiniXcode modifiche nella barra degli strumenti principale.
  • ColorSense fornisce overlay per aiutare a scegliere i colori.

Entrambi i progetti sono installati in ~/Library/Application Support/Developer/Shared/Xcode/Plug-ins e Xcode li preleva solo.

Esistono fonti di documentazione (offline o generate dall'utente) sull'estensione di Xcode?

Modifica:ping @olemortiz;)

+0

quanto ne sappia io, non ce ne sono. Immagino che @olemoritz abbia scaricato le cose dall'eseguibile XCode e abbia scoperto parte (se non tutte) di IDEKit. Ma la vera domanda è ... perché hai taggato questa domanda 'ios'? –

+0

Possiamo modificare questo titolo della domanda per renderlo una generalizzazione di Xcode Plug (siamo a Xcode 7 ora ..)? –

risposta

18

Come ho scritto questi plugin che hai citato, qui ci sono alcune indicazioni:

  • Non v'è alcuna documentazione ufficiale da parte di Apple, così mentre Xcode ha un plugin infrastruttura, è interamente API privata. (ma hey, nessuno vuole inviare i plug-in Xcode all'App Store, giusto?;)) - Si applicano le solite avvertenze: il codice dovrebbe essere molto difensivo, ed è possibile che gli aggiornamenti Xcode si rompano. Qualsiasi plug-in può far cadere completamente Xcode, quindi fai attenzione.

  • C'è uno sforzo apparentemente abbandonato per documentare l'interfaccia del plugin here.

  • Esistono alcuni progetti open source che consentono di visualizzare ciò che è necessario per caricare un plug-in, ad es. il mio e c'è il CLITool-Infoplist (penso che sia da lì che ho preso la struttura di base, ma non riesco davvero a ricordare, perché ho fatto questo senza pubblicare nulla per un po 'di tempo).

  • È possibile utilizzare class-dump per generare intestazioni dai framework privati ​​Xcode, ad es. IDEKit e IDEFoundation (in Xcode.app/Contents/Frameworks). Leggere questi ti dà un bel po 'di informazioni su come Xcode è strutturato internamente. DVTKit e DVTFoundation (in Xcode.app/Contents/SharedFrameworks) possono anche essere utili per class-dump.

  • È possibile osservare tutte le notifiche inviate in Xcode registrando un osservatore per nil. Inizialmente ho appena registrato tutte quelle notifiche per avere un'idea di dove potrei essere in grado di connettersi.

Buona fortuna!

+1

Grazie per la bella risposta Ole, esattamente il tipo di dettaglio che stavo cercando. – Jessedc

+0

Alcuni link sono stati modificati dall'alto. C'è uno sforzo apparentemente abbandonato per documentare l'interfaccia del plugin [qui] (https://github.com/lroathe/XcodeAPI) – Punita

0

Non esiste alcuna API o documentazione formale.

Detto questo, quasi tutti i plug-in della community sono open source, utilizzare http://alcatraz.io per scoprire nuovi plug-in, quindi seguire il loro codice sorgente github per scoprire come le persone li stanno implementando.

Ecco alcune risorse utili: