読者です 読者をやめる 読者になる 読者になる

WonderPlanet DEVELOPER BLOG

ワンダープラネットの開発者ブログです。モバイルゲーム開発情報を発信。

Xcodeプラグインの作成方法

今回エンジニアブログを担当する戸田です。

今回は、Xcodeプラグインの作成方法について紹介します。

Xcodeのプラグインについて、公式のサポートがなく情報量も少ないため、敷居が高くなってしまいますが、モバイルアプリとは違った楽しさがありますので、一度はプラグインの開発をしてみるのも良いと思います。それでは、プラグインの作成方法を説明していきます。

プラグイン作成の流れ

  1. Xcodeプロジェクトの作成
  2. Info.plistの設定
  3. Build settingsの設定
  4. 実装・ビルド
  5. Xcode を再起動

1.Xcodeプロジェクトの作成

Xcodeを起動後。メニューの「File」->「New」->「Project...」を選択し、新規プロジェクトの作成画面を表示します。

新規プロジェクトの作成画面が表示されたら、「OS X」->「Framework & Library」->「Bundle」を選択して、「Next」ボタンを選択します。

sample_plugin01

次に、プロジェクト名やFrameworkの設定をします。

sample_plugin02

プロジェクト名は「Product Name」で入力し、「Framework」は「Cocoa」を選択して、「Next」ボタンを選択します。

プロジェクトの保存先は任意の場所に設定します。

2.Info.plistの設定

プロジェクトを作成したら、Info.plistにプラグイン開発で必要な項目を追加しますので、プロジェクト内から「SamplePlugin-Info.plist」を表示します。

sample_plugin03

3.Build settingの設定

プロジェクト又はターゲットの「Build Setting」タブから以下の項目の設定をします。

  • Installation Build Products Location:$(HOME)
  • Installation Directory:/Library/Application Support/Developer/Shared/Xcode/Plug-ins
  • Deployment Location DEPLOYMENT_LOCATION:YES
  • Wrapper Extension:xcplugin

4.実装・ビルド

プラグインを実装するためには、「Principal class」が必要になりプラグインをXcodeにLoadするためのクラスになります。それでは、メニューの「File」->「New」->「File...」から新規ファイルの作成画面を表示します。

新規ファイルの作成画面が表示されたら、「OS X」->「Cocoa」->「Objective-C class」を選択して、「Next」ボタンを選択します。

sample_plugin04

次にclassは任意のクラス名を入力、「Subclass of」には「NSObject」を選択して「Next」ボタンを選択します。

sample_plugin05

作成したclassを展開して、以下のようにコードを入力します。

@implementation SamplePlugin  
  
+ (void)pluginDidLoad:(NSBundle *)plugin  
{  
    NSLog(@"pluginDidLoad");  
  
    NSMenu *addMenu = [[NSMenu alloc] initWithTitle:@"Test Menu"];  
  
    NSMenuItem *menuItem = [[NSMenuItem alloc] initWithTitle:@"Test Click" action:@selector(menuClick:) keyEquivalent:@""];  
    [menuItem setTarget:self];  
    [addMenu addItem:menuItem];  
  
    NSMenuItem *newMenuItem = [[NSMenuItem alloc] initWithTitle:@"Test" action:NULL keyEquivalent:@""];  
    [newMenuItem setSubmenu:addMenu];  
  
    NSMenu *mainMenu = [NSApp mainMenu];  
    [mainMenu addItem:newMenuItem];  
  
}  
  
+ (void)menuClick:(id)sender  
{  
    NSLog(@"Menu item clicked");  
}  
@end  

メニューの「Product」->「Build」を実施して、以下の場所にプラグインファイル(xxxxxx.xcplugin)がインストールされていることを確認します。

~/Library/Application Support/Developer/Shared/Xcode/Plug-ins

5.Xcodeの再起動

プラグインのインストールが出来たらXcodeを再起動して、プラグインを読み込んで見ましょう。プラグインが正常に読み込めたらメニュー内の「Help」の右側に「Test Menu」の項目が追加されています。

今回はここまでになりますが、プラグイン開発は誰でも行うことが出来ますので、よかったら試してみて下さい。