2012-09-18 13 views
12

最近、私はgithubのプロジェクトで、プラグイン経由でXcode 4の機能を拡張していることに気付きました。 @olemoritzによって例としてXcode 4プラグインを構築するためのドキュメントはありますか?

2つのプロジェクト:

  • MiniXcodeメインツールバーを変更します。
  • ColorSenseは、色の選択に役立つオーバーレイを提供します。

両方のプロジェクトが~/Library/Application Support/Developer/Shared/Xcode/Plug-insにインストールされており、Xcodeがそれらをピックアップします。

Xcodeを拡張する上でのドキュメント(正式またはユーザー生成)がありますか?

編集:ping @olemortiz;)

+0

をデバッグするためのhttp://www.blackdogfoundry.com/blog/debugging-your-xcode-plugin/を参照してください。私は@olemoritzがXcodeの実行可能ファイルからのものを投げ捨て、IDEKitの一部(全部ではない)を考え出したと思います。しかし本当の疑問は、なぜあなたはこの質問に「ios」とタグをつけましたか? –

+0

この質問タイトルを編集してXcode Plugを一般化することができます(現在はXcode 7にあります)。 –

答えて

18

私はここで、あなたが言及したプラグインを書いたように、いくつかのポインタです:

  • あり、アップルからの公式文書ではありませんので、Xcodeは、プラグインを持っていながら、インフラストラクチャは、それは完全にプライベートAPIです。 (ただし、誰もXcodeプラグインをApp Storeに提出したいのではないでしょうか?)) - 通常の警告が適用されます:非常に防御的にコードを作成する必要があります。どのプラグインもXcodeを完全にダウンさせる可能性があるので注意してください。

  • プラグインインターフェイスhereを文書化するための一見放棄された努力があります。

  • プラグインを入手するために必要なものをすべて表示するためのオープンソースプロジェクトがいくつかあります。私にはCLITool-Infoplistがあります(私はそれが基本的な構造を得た場所だと思いますが、私はかなり長い間何も公開せずにこれをやっていたので、本当に覚えていません)。

  • class-dumpを使用すると、Xcodeのプライベートフレームワークからヘッダーを生成できます。 IDEKitとIDFoundation(Xcode.app/Contents/Frameworks)です。それらを読むことで、Xcodeが内部的にどのように構成されているかについてのかなりの情報が得られます。 DVTKitとDVTFoundation(Xcode.app/Contents/SharedFrameworks)は、クラスダンプにも役立ちます。

  • nilのオブザーバーを登録すると、Xcodeで送信されたすべての通知を確認できます。私は当初、すべての通知をログに記録して、どこに接続できるかのアイデアを得ました。

幸運を祈る!

+1

偉大な答えをありがとうOle、まさに私が探していた細部の種類。 – Jessedc

+0

一部のリンクが上から変更されています。 プラグインインターフェース[here](https://github.com/lroathe/XcodeAPI)を文書化するために一見放棄された努力がありますが、 – Punita

0

正式なAPIまたはドキュメントはありません。

ほとんどすべてのコミュニティプラグインがオープンソースであると言われていますが、http://alcatraz.ioを使用して新しいプラグインを見つけてから、githubソースコードに従って人々がどのようにそれらを実装しているかを調べます。あなたはチャンスをうかがっする必要がAPIフックポイントを発見するために

関連する問題