自定義 Xcode ViewController 類别範本

發表於2017-02-19

寫之前先感謝下 @ColeXm偷懶寶典–打造屬於自己的 Xcode 類别範本 讓我知道能夠知道還能自定義 Xacode 類别範本。

然後 有興趣的可以看看我自己 部落格 ,排版應該稍微好點。

話不多說我們先來體驗下 :

111899027-061b069a154fcb43

什麼是 Xcode 類别範本 ?

說到 Xcode 類别範本有些人可能覺得陌生,其實作為一名 iOS 開發,我們每天都會用到 Xcode 類别範本,例如建立一個 UIViewController,一個 Category 等等,這些其實都是 Xcode 幫我們整合好的模板。

我們先看看系統的 VC 模版怎麼建立的 :

121899027-6cb7f39e3c036e89

為什麼要自定義 Xcode 類别範本 ?

當我們用 Xcode 自帶的模板建立一個 UIViewController 的子類時,我們會發現 .m 檔案會多出一些方法 :

131899027-3a2d24899e3fdc8d

而我們平時的開發中,或多或少都有自己的一些規範,尤其是在多人合作開發的情況下,一些好的開發規範是相當必要的。

我的 UIViewController 規範:

這麼一堆東西寫起來也是要點時間的,如果每建立個 VC 就要寫一遍也太不優雅了。

有沒有什麼辦法能夠在我們建立 VC 的時候自動生成這些呢?

建立自己的 Xcode 類别範本

一份成品模版結構大概這樣 :

141899027-d5ee7adb7ed96187

介紹下里面的東西 (xxx 就是你自定義模版的名字) :

xxx.xctemplate:模版檔案。

xxxObjective-C:OC模版檔案,裡面包含 ___FILEBASENAME___.h___FILEBASENAME___.m 兩個檔案。

xxxXIBObjective-C:xxxObjective-C 多了個 ___FILEBASENAME___.xib 檔案,可自定義。

xxxSwift:Swift模版檔案,裡面包含一個 ___FILEBASENAME___.swift 檔案。

xxxXIBSwift:xxxSwift 多了個 ___FILEBASENAME___.xib 檔案,可自定義。

TemplateIcon.png:模版顯示的圖片。

TemplateInfo.plist:模版的配置資訊,圖7

重新寫一份模版太繁瑣,我們直接拷貝一份系統的模版來修改

  • 拷貝 Cocoa Class.xctemplate,修改名稱並刪除不需要的檔案。(我這邊是 Xcode 8.2.1, 以後路徑可能有變)

  • 修改 .h 為 :

  • 修改 .m 只需要新增自己需要的規範就行,可以參考 上面我的 VC 模板。
  • 修改 .swift 為:

  • 新建 .xib 重新命名 ___FILEBASENAME___.xib 並按照下圖修改:
151899027-52d812d4fe9b6098
161899027-266d9b8eb585f93d

上面 .h .m 裡面 有些詞可能不明白,這裡再稍稍解釋下:

1)DATE:標識當前時間;

2)FILENAME:帶檔案字尾的全名;

3)FILEBASENAME:不帶檔案字尾的名字;

4)FULLUSERNAME:當前的使用者名稱;

6)PROJECTNAME:工程名字;

7)FILEBASENAMEASIDENTIFIER: VC 類名稱;

8)IMPORTHEADER_cocoaSubclass: 匯入的標頭檔案。

TemplateInfo.plist :

171899027-8939b90cf8761960

講解一些需要改動的東西 :

SortOrder:模版在介面中的位置;

Options:對應 圖2 四行;

FallbackHeader:.h 匯入的標頭檔案;

RequiredOptions -> cocoaSubclass:是否支援選擇 xib;Default 預設 true 自動勾選;

Values:自定義模版的名稱(一定要保持一致);

Suffixes:模版預設類名,效果如下圖。

181899027-3ce91aff35630cd6

最後把建立好的 xxx.xctemplate 檔案直接拷貝到系統路徑下就可以直接使用了:

修改系統模板

平常開發中,我們經常用xib來畫一個View,之前用系統的模板建立View的時候是有勾選是否建立對應xib的這個選項的,蘋果不知道什麼時候改了,現在貌似不行了:

191899027-e74f0147bd30ecd2

這樣導致我們建立完View後,還需要再建立個對應的xib檔案,簡直神煩!
怎麼能自動建立xib檔案呢?我們完全可以修改系統的模板來滿足我們的剛需:

  • 進入目錄,找到Cocoa Touch Class.xctemplate檔案
  • 拷貝一份 UIViewObjective-C檔案並改名為UIViewXIBObjective-C,然後到其他有xib的資料夾裡面,拷貝一份xibUIViewXIBObjective-C裡面,xib可自行修改。(我這裡只配置了Objective-C的,Swift步驟類似)
  • 找到 當前目錄的TemplateInfo.plist檔案,如下修改:

201899027-5556f90af260e75f

  • 重新建立系統 View模板:

211899027-66f3d08c8d0630f2

大功告成!

Demo

最後放上我自己的一個 UIViewController 模板 懶得自己寫的可以直接用或者在我的模板基礎上修改!

參考連結

http://www.jianshu.com/p/93527682d8d3

http://www.bobmccune.com/2012/03/04/creating-custom-xcode-4-file-templates/

相關文章