Objective-C 自動生成文件工具:appledoc
由於最近瑣事比較多,所以好久沒有寫文章了。今天我們聊一聊Objective-C自動生成文件。
做專案的人多了,就需要文件了。手工寫文件是一件苦差事,但是我們也有從原始碼中抽取註釋生成文件的專用工具。
經過查詢,比較大眾的有三個:
doxygen:適於生成html文件與pdf文件。 支援的語言多,可以配置的地方也比較多。預設生成的風格與蘋果的風格不一致。
headdoc :是 Xcode 自帶的文件生成工具。在安裝完 Xcode 後,就可以用命令列來生成對應的文件。不過它只生成以
/*! */
的格式的註釋。不相容/** */
格式的註釋appledoc: Github地址 ,適於生成html文件和xcode幫助文件(docset)。可以相容
/** */
格式,也可以相容/*! */
格式的註釋。
我感覺appledoc是最好的,所以在這裡,我只介紹一下appledoc的使用,有興趣的童鞋也可以研究下其他兩種。
appledoc的安裝
第一種:開啟終端,輸入以下命令:
123 | git clonegit://github.com/tomaz/appledoc.git |
第二種:如果你裝了homebrew,開啟終端,輸入以下命令:
1 | brew install appledoc |
appledoc的使用
為了演示appledoc的使用,我在桌面新建了一個工程Test,然後在ViewController類裡面加了一些註釋:
![111608265-54c02d5dfefe5185](http://jbcdn2.b0.upaiyun.com/2017/01/97a54a41654857fcdd90e50b4fe2d993.png)
![121608265-1b5ceeb31f275a8e](http://jbcdn2.b0.upaiyun.com/2017/01/1bcd804d364af748eccd7de52b44ee59.png)
然後演示appledoc的使用:
1.在終端中使用
使用 appledoc 時,開啟終端,進入專案所在目錄,使用如下命令即可:
1 | appledoc--output輸出路徑--project-name工程名--project-company公司名--company-id公司ID. |
例如我在這裡使用的命令是:
1 | appledoc--output./doc--project-name Test--project-company lisong--company-id lisong. |
具體過程如下:
![131608265-38d08feeb2bd337c](http://jbcdn2.b0.upaiyun.com/2017/01/0bbf716457ec047a5c1f712b9b821ff2.gif)
appledoc 會掃描當前路徑下的所有檔案,然後生成好文件放到 doc 目錄下。
![141608265-75315ae0d0d5293b](http://jbcdn2.b0.upaiyun.com/2017/01/47ee0ef7c4f307f5f6a40b4b7d6b03c2.png)
編譯出的Docset
預設會放在~/Library/Developer/Shared/Documentation/DocSets
路徑下,裡面包含html的文件。首先顯示生成的Docset的包內容,然後在Contents/Resources/Documents路徑下,雙擊開啟裡面的index.html可以在瀏覽器中檢視文件了。
並且生成的Docset已經安裝到Xcode中。重啟Xcode後,在Help—Documentation and API Reference
選單下也可以看到生成的文件:
![151608265-3b0a83b380a0550e](http://jbcdn2.b0.upaiyun.com/2017/01/2be20a877d214a143ef9dcf748042d26.gif)
如果不想生成Docset,而是想生成html,就需要加一個--no-create-docset
,這裡我使用命令:
1 | appledoc--no-create-docset--output./doc--project-name Test--project-company lisong--company-id lisong. |
則會在doc目錄下生成一個html資料夾,也是雙擊裡面的index.html就可以在瀏覽器中檢視文件了。
![161608265-4f6f78eb9d0d3911](http://jbcdn2.b0.upaiyun.com/2017/01/f084e0ae2b518c5f1aef3e02a0fd83f8.png)
2.在Xcode裡使用
1.首先建立一個Aggregate型別的Target,取名Document
![171608265-dc46a5c77a483ecc](http://jbcdn2.b0.upaiyun.com/2017/01/782bf043f8fddac9d8e0ec46a191ab4d.gif)
2.選擇Build Phases,點選左邊的小加號,選擇New Run Script Phase,建好了以後開啟剛剛建立的Run Script,在框裡輸入命令,命令與終端一樣,這裡我們輸入:
1 | appledoc--no-create-docset--output./doc--project-name Test--project-company lisong--company-id lisong. |
![181608265-bdce67e2e0fae042](http://jbcdn2.b0.upaiyun.com/2017/01/53c688e90398c14345f254a11633ff5a.gif)
3..然後點左上角選擇Document,編譯一下,成功後文檔就生成在doc目錄下了。
編譯生成文件註釋樣式
因為appledoc是通過註釋生成文件的,下面說說註釋的樣式,幾種常見的有:
123456789101112131415161718 | /// Single line comment./// Single line comment spreading/// over multiple lines./** Single line comment. *//*! Single line comment *//** * Single line comment spreading * over multiple lines. *//** Single line comment spreading over multiple lines. No star */ |
在Xcode裡面,我們可以用command + option + /
方便快捷地生成註釋,很方便。大家可以多嘗試嘗試各種註釋。更多的註釋格式可以看這裡