VVDocumenter文档注释和appledoc生成文档

05/26/2015 18:04 下午 posted in  apple

代码注释可以让代码更容易接受和使用,特别是在大型项目合作开发或模块开发中。Objective-C中也有一些很方便的注释插件和文档生成工具。本文推荐两个开源软件:VVDocumenter注释工具和appledoc文档生成工具。
###下载和安装VVDocumenter

VVDocumenter插件是github上的一个开源项目,地址是https://github.com/onevcat/VVDocumenter-Xcode。
你可以git clone或在github网站上下载工程的zip压缩文件。下载完成后,打开其中的工程,build&run一下就安装成功了。然后记得要重新启动一下Xcode应用,VVDocumenter插件就生效了。试试在方法定义前输入“///”。

VVDocumenter GitHub项目地址

###appledoc
我们开发自己的模块时,经常会将模块接口提供给别人使用,这样我们不得不写一些接口说明文档。很多语言都提供了这种工具比如javadoc,doxygen等,可以将注释代码转化成在线文档。这里推荐一个特别适合Objective-C语言的一种文档输出工具appledoc。它可以把一些格式的注释转换成Apple SDK风格的文档,同时它支持VVDocumenter的输出注释格式。

appledoc GitHub项目地址

1.安装

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

安装完成后,验证一下OK了没

appledoc --version

2.使用
进入code所在目录,跑一下下面的命令,默认会编译出docset并安装进Xcode。

appledoc --project-name MyProject --project-company ibireme ./

其中 MyProject是生成的Docset文件名,执行上面的命令之后会在工程目录底下生成一个名字为docset-installed的txt文档。

docset-installed.txt:

Documentation set was installed to Xcode!

Path: /Users/liunian/Library/Developer/Shared/Documentation/DocSets/com.ibireme.lnuniversal.LNUniversal.docset
Time: 2015-05-26 10:01:00 +0000

如果想要详细的参数,可以查看帮助

appledoc --help

###如果想要集成进Xcode工程:
1.选中你的工程,点击Add Target按钮,选择 Other -> Aggregate模板新建.
2.点击Add Build Phase按钮,添加一个Run Script.
3.把下面的模板代码复制进去,把前几行参数改成你自己的.
4.在Xcode左上角选择这个新建的Target,然后点击build.
5.文档就会编译好并且自动安装进Xcode了(重启Xcode生效).

#appledoc Xcode script  
# Start constants  
company="ACME";  
companyID="com.ACME";
companyURL="http://ACME.com";
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}"

PS:集成到Xcode我一直没走通,估计是代码没有设置好的原因,回头可以好好研究下

###其他
编译出的Docset默认会放在/Users/ibireme/Library/Developer/Shared/Documentation/DocSets路径下。

Docset格式,实际上是一个bundle,里面包含了一些xml和html。显示包内容后就可以查看和修改了。如果需要放到网站上,那单独将html部分取出来就行。

Docset安装后,在Xcode中就可以实时查看某个方法的说明了,体验和官方文档保持一致。(有一点,category中的注释不会出现在xcode的快速帮助中,不知道新版xcode是否会有改进..)