IOS項目自動生成技術文檔

做項目一般都會要求寫技術文檔,特別是單幹接項目的,客戶多少都會要求除了提供code之外,還得提供技術文檔,而如果我們手寫這類的文檔,那工作量不比寫code少。一般的開發工具都會提供類似集成的功能,比如Java語言本身就自帶javadoc命令,可以從源碼中抽取文檔,幾個配置,幾條命令就搞定了。


Xcode工具本身不具備這樣的功能,但是我們通過一些插件和工具來達到這個目的。


生成註釋

生成文檔之前,我們需要給代碼中的方法或者變量寫上註釋,然後再利用工具根據這些規範的註釋自動生成文檔。所以呢,註釋一定要規範統一,但是每次都要手動輸入規範化的註釋,着實也麻煩,這裏需要藉助Xcode的開源插件VVDocumenter,規範註釋生成器,非常方便!

wKioL1WCKtax6oKJAAcZd6rWVks497.gif

多行註釋直接輸入三個斜線 "///" 會自動格式化,如上圖所示

單行註釋需要輸入三個斜線+空格 “/// 註釋”。輸入兩個“//”當然可以正確的被xcode識別爲註釋,但是在下面生成文檔的時候不能被識別爲文檔註釋。


然後再配合 appledoc 、doxygen 或者 headdoc,就可以生成技術文檔。

對於Objective-C來說,目前比較好用的是appledoc 和 doxygen


工具對比

headerdoc
xcode 自帶的文檔生成工具、基於命令行的操作、使用方便。但是隻能生成以 /*! */ 的格式的註釋。還有一個缺點是每個類文件對應一個註釋文件,沒有最後彙總導航的index文件。


docxygen
功能強大、三者中支持語言最多的、無headerdoc缺點、基於圖形化的操作界面,但是配置較多,可以生成html文檔或pdf文檔。

appledoc
基於命令行的操作、使用方便、無headerdoc缺點、默認生成的文檔風格和蘋果的官方文檔是一致的,即docset,集成到xcode中就跟蘋果的官方文檔一模一樣,在源碼中按住option再單擊就可以調出相應方法的幫助。當然也可以生成html文檔。


工具使用

appledoc

從github下載源碼,在終端裏面cd源碼文件夾,然後執行shell腳本安裝

[plain] view plaincopy在CODE上查看代碼片派生到我的代碼片

  1. git clone git://github.com/tomaz/appledoc.git  

  2. cd appledoc  

  3. sudo sh install-appledoc.sh  


安裝過程中如果出錯,檢查一下Xcode所在的路徑中是否存在空格,去掉再試之。

成功後在終端cd到項目文件夾裏面,輸入以下命令生成文檔:

[plain] view plaincopy在CODE上查看代碼片派生到我的代碼片

  1. appledoc --output ../doc --project-name weibo --project-company "wxhl" --company-id "com.wxhl.weibo" .  

--output ../doc  設置文檔輸出目錄爲上級目錄下面的doc
--project-name weibo  設置項目名爲“weibo”
--project-company "wxhl"  設置公司名爲“wxhl”
--company-id "com.wxhl.weibo"  設置公司id爲“com.wxhl.weibo”
.  當前目錄


當該命令完成後,可以看到在上級目錄的doc文件夾裏面有一個docset-installed.txt的文件,這裏面描述了docset文檔所在的真正路徑,一般都是在~/Library/Developer/Shared/Documentation/DocSets/ 裏面,或者看看xcode中的Organizer - Documentation,會發現其中新增了幫助文檔。


wKioL1WCK3XBXg7YAAGbr8ia4dI694.jpg

生成HTML

對於最新版本的appledoc來說,它默認時是生成docset文檔並集成到xcode。當需要html文檔時,可以加上“--no-create-docset”

[plain] view plaincopy在CODE上查看代碼片派生到我的代碼片

當該命令完成後,可以看到在上級目錄的doc文件夾裏面就 不是docset-installed.txt文件了,而是全部的html文檔,直接打開index就行。



doxygen

doxygen支持源碼編譯安裝與dmg安裝。去doxygen官網下載最新的dmg,doxygen有圖形界面,可通過Launchpad打開。


在step 1中選擇好項目的路徑。
step 2默認是Wizard->Project頁面,在其中
1) 在“Project name”中填寫項目名。
2) 勾選“Sacn recursively”,掃描所有的子文件夾。
3) 在“Destination directory”中填寫好文檔的輸出目錄。這裏我填的是“docs”。

wKiom1WCKleiTVAfAAJuAMucR_M739.jpg

wKioL1WCLLfRuhkbAAMeVTLNJB0692.jpg

點擊中間的“Run”切換Run頁面,然後點擊“Run doxygen”按鈕生成文檔。

wKioL1WCLOrRqLvlAANjrPv28zA378.jpg

當文檔生成完畢後,使用瀏覽器打開docs/html/index.html——

wKiom1WCK4Wy-wndAAN7KTrq3fs432.jpg

生成PDF

doxygen默認會爲生成pdf做好準備。切換到Wizard->Project,會發現它自動勾選了“LaTex”與“as intermediate format for hyperlinked PDF”。

wKiom1WCK8eA7Gc8AAJmVESRJGs487.jpg

doxygen本身並不能直接輸出pdf文件,而是生成了latex目錄,其中有一個 makefile 文件。若系統中裝好了pdflatex,可在latex目錄中運行“make”命令來生成pdf文件。
怎樣才能裝好pdflatex呢?mac平臺可安裝MacTeX。打開 http://www.tug.org/mactex/ ,下載  MacTeX.pkg (約2.1GB)。MacTeX.pkg下載好後,可雙擊運行,根據嚮導來安裝。

環境裝好之後,當在latex目錄中運行“make”命令來生成pdf文件時,你會發現——純英文文檔能順利生成pdf;而含有中文時,不能順利生成pdf文件。

對於latex排版,doxygen其實已經做了很多準備,比如——源文件是UTF-8編碼,並默認使用了utf8 package。理論上是支持多國語言的。
可對於中文來說,還需要加載 CJKutf8 package,並配置好CJK環境。這才能順利的使用中文。

用文本編輯器打開docxygen生成的latex目錄中的refman.tex。找到“\begin{document}”這一行,將其修改爲

\usepackage{CJKutf8} 
\begin{document}
\begin{CJK}{UTF8}{gbsn}

然後再找到“\end{document}”這一行,將其修改爲

\end{CJK} 
\end{document}

保存並關閉refman.tex。
然後打開終端,使用cd命令進入latex目錄,然後執行“make”命令。

wKioL1WCLbqwTSEoAALoErMNeR4178.jpg

執行完畢後後,該目錄中會出現“refman.pdf”——

wKiom1WCLD_jPY2OAAS56oOviws161.jpg

參考

http://www.cnblogs.com/zyl910/archive/2013/06/07/objcdoc.html

http://blog.devtang.com/blog/2012/02/01/use-appledoc-to-generate-xcode-doc/

汪鴻俊(

汪鴻俊(微信:wanghj29)

微信:wanghj29)


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章