エンジニア

Xcodeの独自FileTemplate

投稿日:2015年3月6日 更新日:

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

今回はXcodeのFile Templateについて紹介したいと思います。独自File Templateは、新規でクラスを作成する時に、毎回同じようなコードを書く手間を省く機能になります。今回はNSObjectを継承したクラスにProtocolを追加した独自File Templateを説明します。

File Templateの作成

1.前準備

Xcodeに用意されているFile Templateを再利用していきますので、次のパスから

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/File Templates/Source/Cocoa Touch Class.xctemplate

以下のフォルダとファイルをコピーして

  • NSObjectObjective-C/___FILEBASENAME___.h
  • NSObjectObjective-C/___FILEBASENAME___.m
  • NSObjectSwift/___FILEBASENAME___.swift
  • NSObjectSwift
  • TemplateIcon.png
  • TemplateIcon@2x.png
  • TemplateInfo.plist

独自のFile Templateを配置する場所は以下のパスになります。

~/Library/Developer/Xcode/Templates/File\ Templates

上記のFile Templateパスに「SampleClass.xctemplate」フォルダを作成して、先ほどコピーしたフォルダとファイルを配置します。また、以下のフォルダ名をリネームします。

  • 「NSObjectObjective-C」→「NSObjectProtocolObjective-C」
  • 「NSObjectSwift」→「NSObjectProtocolSwift」

costom_file_template_01

2.TemplateInfo.plistの編集

Xcodeやテキストエディタ等で開きて、「Options」要素に以下の内容を追加します。また、追加する位置は先ほどリネームしたフォルダ名と関連するため追加する場所に気を付ける必要があります。

<dict>
    <key>Default</key>
    <string>false</string>
    <key>Identifier</key>
    <string>Protocol</string>
    <key>Name</key>
    <string>Protocol</string>
    <key>RequiredOptions</key>
    <dict>
        <key>cocoaTouchSubclass</key>
        <array>
            <string>NSObject</string>
        </array>
    </dict>
    <key>Type</key>
    <string>checkbox</string>
</dict>

3.クラスファイル(Objective-C)の編集

「NSObjectProtocolObjective-C/FILEBASENAME.h」のファイルにプロトコルを定義します。

//  
// ___FILENAME___  
// ___PROJECTNAME___  
//  
// Created by ___FULLUSERNAME___ on ___DATE___.  
//___COPYRIGHT___  
//  

___IMPORTHEADER_cocoaTouchSubclass___

@protocol ___FILEBASENAMEASIDENTIFIER___Delegate

@end

@interface ___FILEBASENAMEASIDENTIFIER___ : ___VARIABLE_cocoaTouchSubclass___
@property (nonatomic, assign) id<___FILEBASENAMEASIDENTIFIER___Delegate> delegate;

@end

4.クラスファイル(Swift)の編集

「NSObjectProtocolSwift/FILEBASENAME.swift」のファイルにプロトコルを定義します。

//  
//  ___FILENAME___  
//  ___PROJECTNAME___  
//  
//  Created by ___FULLUSERNAME___ on ___DATE___.  
//___COPYRIGHT___  
//  

import UIKit

protocol ___FILEBASENAMEASIDENTIFIER___Delegate{

}

class ___FILEBASENAMEASIDENTIFIER___: ___VARIABLE_cocoaTouchSubclass___ {
    var delegate: ___FILEBASENAMEASIDENTIFIER___Delegate! = nil
}

以上で設定は終わりになります。

採用情報

ワンダープラネットでは、一緒に働く仲間を幅広い職種で募集しております。

-エンジニア
-, ,

© WonderPlanet Inc.