Xcode8 利用appledoc 自動(dòng)生成項(xiàng)目文檔

最近寫(xiě)了一個(gè)小項(xiàng)目,想做完善點(diǎn),就想到要有一個(gè)API的文檔。知道有很多工具可以自動(dòng)生成,但是具體一直沒(méi)實(shí)現(xiàn)過(guò),正好利用這個(gè)機(jī)會(huì)實(shí)驗(yàn)一把。

剛開(kāi)始搜索了下,基本鎖定有這兩種工具:

  • HeaderDoc 是蘋(píng)果官方的文檔生成工具。好處是Xcode自帶了,生成的文檔風(fēng)格和Apple官方的保持一致,支持的語(yǔ)言比較多。缺點(diǎn)是可調(diào)教的地方比較少,注釋的風(fēng)格要求比較嚴(yán)格等;貌似除了Apple外,其他使用的人比較少;最主要的是很多博文里鏈接到官方的地址都不存在了

  • appledoc 是比較專(zhuān)一的,只為Objective-C服務(wù),能生成和Apple一個(gè)風(fēng)格的文檔,功能齊全,使用方便,可以直接編輯成docset安裝進(jìn)Xcode。缺點(diǎn)是支持的語(yǔ)言少。

最終我決定使用appledoc生成

安裝 appledoc

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

安裝完驗(yàn)證一下版本OK了

appledoc --version

生成API文檔

這里說(shuō)兩種方法:

  • 終端命令生成
    cd到你項(xiàng)目所在的目錄,然后再運(yùn)行下面命令,然后就編譯出docset并安裝進(jìn)Xcode。注意下面替換成你的工程名稱(chēng)和公司名稱(chēng)

appledoc --project-name 工程名稱(chēng) --project-company 公司名稱(chēng) ./

  • Run Script 集成在項(xiàng)目?jī)?nèi)
    這個(gè)方法就是把生成方式放在項(xiàng)目?jī)?nèi)啦,方便更新文檔而已。缺點(diǎn)是得為每個(gè)項(xiàng)目添加,看個(gè)人情況使用吧。
    1、選中你的項(xiàng)目,點(diǎn)擊 Add Target 按鈕,選擇Cross-platform --> Aggregate
    2、點(diǎn)擊Add Build Phase 按鈕,添加一個(gè)Run Script。
    3、把下面的模板嗲嗎復(fù)制進(jìn)入,把前幾行參數(shù)改成自己的。
    4、在Xcode左上角選擇這個(gè)新建的Target,然后build。
    5、文檔就會(huì)編譯好并且自動(dòng)安裝進(jìn)Xcode了(重啟Xcode生效)。
#appledoc Xcode script  
# Start constants  
company="公司名稱(chēng)";  
companyID="com.公司id";
companyURL="http://公司網(wǎng)址";
target="iphoneos";
#target="macosx";
outputPath="~/help";
# End constants
/usr/local/bin/appledoc \
--project-name "${PROJECT_NAME}" \
--project-company "${company}" \
--company-id "${companyID}" \
--docset-atom-filename "${company}.atom" \
--docset-feed-url "${companyURL}/${company}/%DOCSETATOMFILENAME" \
--docset-package-url "${companyURL}/${company}/%DOCSETPACKAGEFILENAME" \
--docset-fallback-url "${companyURL}/${company}" \
--output "${outputPath}" \
--publish-docset \
--docset-platform-family "${target}" \
--logformat xcode \
--keep-intermediate-files \
--no-repeat-first-par \
--no-warn-invalid-crossref \
--exit-threshold 2 \
"${PROJECT_DIR}" 

語(yǔ)法

首先,文檔中的注釋只有符合規(guī)范,才能被appledoc認(rèn)可
凡是以"http:///"、"/*"或"/!"開(kāi)頭的注釋塊,都算是appledoc注釋。下面是實(shí)例:

///這是單行注釋
/** 這也是單行注釋/
/*! 這也是單行注釋
/
/** 這也是單行注釋?zhuān)?br> * 第二行會(huì)接上第一行
*/

注釋塊中,每一行的開(kāi)頭的空格和“*”字符多數(shù)情況都會(huì)被appledoc忽略。
連續(xù)的兩行(即沒(méi)有間隔空行)的注釋?zhuān)瑢⒈缓喜⒊梢粋€(gè)段落,并忽略換行,就想html。
在注釋塊中,appledoc支持如下語(yǔ)法:Markdowm、HTML、HeaderDoc Tags。

  • Markdown的語(yǔ)法在這里中文翻譯介紹,比較簡(jiǎn)單,學(xué)習(xí)成本不高,簡(jiǎn)書(shū)寫(xiě)博文不就是這個(gè)嘛,大家可以學(xué)習(xí)一下。
  • HTML 略。喜歡的直接碼HTML吧
  • HeaderDoc Tags 這個(gè)是蘋(píng)果官方的,也是我們常用的了。例如:@param、@return、@warning醬紫的東西。官方文檔我也沒(méi)找到,找到的童鞋麻煩告訴我,多謝。不過(guò)貌似appledoc對(duì)這個(gè)的支持也不完美。
    下面是一些大家都可以搜到的語(yǔ)法示意啦:
///這里是屬性的說(shuō)明
@property (nonatomic, strong) NSString *name;
/** 
 @brief 這里是方法的簡(jiǎn)介。該Tag不能放到類(lèi)注釋里。
 @exception UIColorException 這里是方法拋出異常的說(shuō)明
 @see YYColor
 @see someMethod:
 @warning 這里是警告,會(huì)顯示成藍(lán)色的框框
 @bug 這里是bug,會(huì)顯示成黃色的框框
 @param red   這里是參數(shù)說(shuō)明1
 @param green 這里是參數(shù)說(shuō)明2
 @param blue   這里是參數(shù)說(shuō)明3
 @return  這里是返回值說(shuō)明
 */
-(UIColor *)initWithRed:(int)red green:(int)green blue:(int)blue;
 -(void)someMethod:(NSString *)str;
@end

最后

編譯完成的Docset默認(rèn)會(huì)放在/Users/用戶(hù)名/Library/Developer/Shared/Documentation/DocSets路徑下
閱讀在Xcode --> Window-->Documentation And API Reference 里面找啦,快捷鍵就是command+shift+0

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • ****一、Xcode 插件下載:**** VVDocumenter下載: https://github.com/...
    _淺墨_閱讀 2,634評(píng)論 0 2
  • 前言 本篇文章主要講解如何使用不同的工具來(lái)生成HTML注釋文檔 , 對(duì)于注釋的使用和說(shuō)明你可以在注釋使用這篇文章得...
    與偉大LEE同行閱讀 2,668評(píng)論 2 5
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,578評(píng)論 19 139
  • 一、安裝過(guò)程 第一步:下載安裝 稍等一會(huì),安裝OK。 第二步:安裝驗(yàn)證: 二、使用 第一步:進(jìn)入代碼所在文件夾:(...
    Mitchell閱讀 5,042評(píng)論 6 21
  • 話(huà)說(shuō),去年正月十五,尚未畢業(yè)的我,兜里摧著三千多一點(diǎn)的銀行卡,帶著我那一克拉的夢(mèng)想,雄赳赳氣昂昂就來(lái)到了大北京。 ...
    一葉綠蘿閱讀 323評(píng)論 2 3

友情鏈接更多精彩內(nèi)容