iOS开发中,可以使用appledoc来生成技术API文档。下面是操作步骤:
install appledoc
用户目录下:
git clone [git://github.com/tomaz/appledoc.git](git://github.com/tomaz/appledoc.git)
cd ./appledoc
sudo sh install-appledoc.sh
验证
appledoc --version
//使用方法可以输入命令
appledoc --help
代码注释格式
1. /*! this a test . */
2. /** this a comment. */
3. /// this is a long comment. */
经常使用的标签
@brief : 使用它来写一段你正在文档化的method, PRoperty, class, file, struct, 或enum的短描述信息。
@discusstion: 用它来写一段详尽的描述。如果需要你可以添加换行。
@param:通过它你可以描述一个 method 或 function的参数信息。你可以使用多个这种标签。
@return: 用它来制定一个 method 或 function的返回值。
@see: 用它来指明其他相关的 method 或 function。你可以使用多个这种标签。
@sa:同上
@code : 使用这个标签,你可以在文档当中嵌入代码段。当在Help Inspector当中查看文档时,代码通过在一个特别的盒子中用一种不同的字体来展示。始终记住在写的代码结尾处使用@endcode标签。
@remark : 在写文档时,用它来强调任何关于代码的特殊之处。
记录文件常用标签
@file: 使用这个标签来指出你正在记录一个文件(header 文件或不是)。如果你将使用Doxygen来输出文档,那么你最好在这个标签后面紧接着写上文件名字。它是一个top level 标签。
@header: 跟上面的类似,但是是在 HeaderDoc中使用。当你不使用 Doxygen时,不要使用上面的标签。
@author:用它来写下这个文件的创建者信息
@copyright: 添加版权信息
@version: 用它来写下这个文件的当前版本。如果在工程生命周期中版本信息有影响时这会很重要。
再一次的,我只给出最常用的标签。自己查看说明文档了解更多标签信息。
@class: 用它来指定一个class的注释文档块的开头。它是一个top level标签,在它后面应该给出class名字。
@interface: 同上
@protocol: 同上两个一样,只是针对protocols
@superclass: 当前class的superclass
@classdesign: 用这个标签来指出你为当前class使用的任何特殊设计模式(例如,你可以提到这个class是不是单例模式或者类似其它的模式)。
@coclass: 与当前class合作的另外一个class的名字。
@helps: 当前class帮助的class的名字。
@helper: 帮助当前class的class名字。
for example:
/*! @brief This property is name. */
@property (nonatomic, copy) NSString *name;
在Xcode中配置
#appledoc Xcode script
# Start constants
company="YXT";
companyID="com.yxt";
companyURL="https://www.yxt.com";
target="iphoneos";
#target="macosx";
outputPath="./doc";#输出地址
scanPath="../YXTToolKitsSDK";#输出地址
# 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 \
"${scanPath}"