Objective-C自動生成文檔工具:appledoc

xxy220543 7年前發布 | 29K 次閱讀 Xcode Objective-C開發 Objective-C

由于最近瑣事比較多,所以好久沒有寫文章了。今天我們聊一聊Objective-C自動生成文檔。

做項目的人多了,就需要文檔了。手工寫文檔是一件苦差事,但是我們也有從源碼中抽取注釋生成文檔的專用工具。

經過查找,比較大眾的有三個:

doxygen :適于生成html文檔與pdf文檔。 支持的語言多,可以配置的地方也比較多。默認生成的風格與蘋果的風格不一致。

headdoc :是 Xcode 自帶的文檔生成工具。在安裝完 Xcode 后,就可以用命令行來生成對應的文檔。不過它只生成以 /*! */ 的格式的注釋。不兼容 /** */ 格式的注釋

appledoc : Github地址 ,適于生成html文檔和xcode幫助文檔(docset)。可以兼容 /** */ 格式,也可以兼容 /*! */ 格式的注釋。

我感覺appledoc是最好的,所以在這里,我只介紹一下appledoc的使用,有興趣的童鞋也可以研究下其他兩種。

appledoc的安裝

第一種:打開終端,輸入以下命令:

git clone git://github.com/tomaz/appledoc.git
cd appledoc
sudo sh install-appledoc.sh

第二種:如果你裝了homebrew,打開終端,輸入以下命令:

brew install appledoc

appledoc的使用

為了演示appledoc的使用,我在桌面新建了一個工程Test,然后在ViewController類里面加了一些注釋:

ViewController.h

ViewController.m

然后演示appledoc的使用:

1.在終端中使用

使用 appledoc 時,打開終端,進入項目所在目錄,使用如下命令即可:

appledoc --output 輸出路徑 --project-name 工程名 --project-company 公司名 --company-id 公司ID .

例如我在這里使用的命令是:

appledoc --output ./doc --project-name Test --project-company lisong --company-id lisong .

具體過程如下:

生成Docset

appledoc 會掃描當前路徑下的所有文件,然后生成好文檔放到 doc 目錄下。

doc目錄

編譯出的Docset

默認會放在 ~/Library/Developer/Shared/Documentation/DocSets 路徑下,里面包含html的文檔。首先顯示生成的Docset的包內容,然后在Contents/Resources/Documents路徑下,雙擊打開里面的index.html可以在瀏覽器中查看文檔了。

并且生成的Docset已經安裝到Xcode中。重啟Xcode后,在 Help—Documentation and API Reference 菜單下也可以看到生成的文檔:

在Xcode中查看

如果不想生成Docset,而是想生成html,就需要加一個 --no-create-docset ,這里我使用命令:

appledoc --no-create-docset --output ./doc --project-name Test --project-company lisong --company-id lisong .

則會在doc目錄下生成一個html文件夾,也是雙擊里面的index.html就可以在瀏覽器中查看文檔了。

html文檔

你也可以在終端用 appledoc --help 查看所有可用的參數。

2.在Xcode里使用

1.首先創建一個Aggregate類型的Target,取名Document

創建Target

2.選擇Build Phases,點擊左邊的小加號,選擇New Run Script Phase,建好了以后打開剛剛建立的Run Script,在框里輸入命令,命令與終端一樣,這里我們輸入:

appledoc --no-create-docset --output ./doc --project-name Test --project-company lisong --company-id lisong .

添加script

3..然后點左上角選擇Document,編譯一下,成功后文檔就生成在doc目錄下了。

編譯生成文檔

注釋樣式

因為appledoc是通過注釋生成文檔的,下面說說注釋的樣式,幾種常見的有:

/// 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 + / 方便快捷地生成注釋,很方便。大家可以多嘗試嘗試各種注釋。 

歡迎關注我 和我的專題:iOS技術交流,查看更多好文章。

 

來自:http://www.jianshu.com/p/fd4d8d6b6177

 

 本文由用戶 xxy220543 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!