蘋果在Xcode8為了安全性和穩(wěn)定性意敛,禁用第三方插件媒吗。
第三方注釋插件VVDocumenter雖然不能在Xcode8上繼續(xù)使用冈在,但所幸蘋果在此插件基礎(chǔ)上提供了快熟注釋的功能涌矢。
Xcode8 注釋
在Xcode8上可以通過快捷鍵 (? Option + ? Command + /) 添加注釋摆出。
格式為 /** … */ :

添加的注釋可以在不同地方展示
1.Utilities面板的Quick Help Inspector

2.當(dāng)你按下Option鍵然后點(diǎn)擊備注的方法朗徊、類或?qū)傩悦麜r(shí)彈出的幫助菜單 Help Popup 里。

3.在代碼實(shí)現(xiàn)的彈框里
但不同的注釋顯示有所不同偎漫,如:
屬性注釋寫在.h文件:

如果寫在.m文件爷恳,彈框是不顯示注釋的:

而方法注釋無論寫在哪兒都是可以顯示:

下面看下帶不同標(biāo)簽的注釋
@return
返回參數(shù)
@param
參數(shù)
多個(gè)參數(shù)
@code ... @endcode
代碼標(biāo)簽
@remark
粗體提醒
我們做注釋是為了能夠輸出有效的文檔,方便查詢象踊。
市面上有不同插件可以輸出文檔温亲,但各自的識(shí)別格式、標(biāo)簽和輸出的風(fēng)格大不相同杯矩。
這次我們用Jazzy插件來進(jìn)行文檔化注釋栈虚,Jazzy不識(shí)別@code和@remark ,這里僅僅只是展示一下標(biāo)簽效果史隆,如果對(duì)標(biāo)簽感興趣魂务,可以查閱文檔。
蘋果HeaderDoc文檔可以參考更多標(biāo)簽泌射,但該文檔已經(jīng)過期粘姜,Xcode8中有些已經(jīng)無效。
四種文檔輸出工具
HeaderDoc Xcode自帶熔酷,有詳細(xì)文檔相艇。卻只識(shí)別/! … /格式,不符合Xcode8快捷注釋輸出的格式纯陨,不是很方便坛芽。而且輸出的文檔零散,沒有集合跳轉(zhuǎn)的主頁(yè)翼抠。
Docxygen 支持多語言注釋咙轩,識(shí)別的標(biāo)簽和輸出的風(fēng)格和蘋果風(fēng)格不同,也不是很符合Xcode8快捷注釋阴颖。
AppleDoc 可以輸出與蘋果風(fēng)格相似的文檔活喊,也能識(shí)別/ … */格式、且能輸出文檔docset文件量愧。但是Xcode8下好像不管用了钾菊,內(nèi)容不能有效輸出。所以也不用這個(gè)偎肃。
Jazzy 可以輸出Swift 和Objective-C文檔煞烫,且風(fēng)格幾乎和蘋果一致,且支持自定義輸出主題累颂,能識(shí)別快速注釋的格式滞详,既有集合跳轉(zhuǎn)的主頁(yè)也能輸出docset文檔凛俱。所以選這個(gè)
Jazzy
官方Git Jazzy
1.安裝
sudo gem install jazzy
在命令行執(zhí)行命令
查看幫助
jazzy-h
輸出文檔
jazzy \
--objc \
--author 小明 \
--module-version 1.0.0 \
--umbrella-header DocumentObjC/ViewController.h \
--framework-root . \
--module 模塊名稱 \
--output docs/objc_output
上面有部分是必須的參數(shù):
--objc
--umbrella-header 匯總的頭文件路徑,會(huì)把該文件引入的其他文件一同輸出料饥,所以是必須的(一般框架習(xí)慣會(huì)有一個(gè)匯總的頭文件蒲犬,引入模塊涉及到的文件)
--framework-root 框架root路徑
--output docs/objc_output 輸出的路徑
框架路徑和頭文件路徑、輸出的路徑都是你執(zhí)行命令的相對(duì)路徑岸啡。
輸出效果如下:
文檔文件:
打開index.html:
更多命令細(xì)節(jié)可以查看Git文檔
文檔所列命令參數(shù)有限原叮,也可以查看Git源文件jazzy/lib/jazzy/config.rb查看所有參數(shù)
參考
Documenting Your Objective-C and Swift Code in Xcode with HeaderDoc and Doxygen