appledoc
Objective-C API文档生成器
参考文
iOS使用appledoc 生成技术API文档详解
iOS使用appledoc来创建开发文档(装逼使用)
iOS - appledoc 文档添加
再学习Android时,重温JAVA发现,JAVA能生成API文档,心里突然想:不对啊,我大iOS怎么可能没有呢?于是......
安装
git clone git://github.com/tomaz/appledoc.git
cd appledoc
sudo sh install-appledoc.sh
使用brew安装
brew install appledoc
验证
appledoc --version
我安装的版本: appledoc version: 2.2.1 (build 1334)
使用
方式一:
CD进入项目目录,复制粘贴下面命令
appledoc --project-name projectName --project-company abc ./
你会在你的项目目录中发现docset-installed.txt
文件,内容如下
Documentation set was installed to Xcode!
Path: /Users/*****/Library/Developer/Shared/Documentation/DocSets/com.abc.myproject.projectName.docset
Time: 2018-01-27 09:32:14 +0000
这种方式简单粗暴,但想要格式出想要的,恐怕这一条是不够的。
方式二:
新建:New -> Target -> Cross-platform ->Aggregate
会在PROJECT下创建新文件
在Build Phases
新建 Run Script
拷贝下面代码
我借鉴别人的。
#appledoc Xcode script
# Start constants
company="abc";
companyID="com.abc";
companyURL="http://www.abc.com";
target="iphoneos";
#target="macosx";
outputPath="../Documents";
# 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}"
问题
Command /bin/sh failed with exit code 127
可能也遇见了250
因为的Pods问题,我忽略了一个文件夹Pods文件夹。运行通过,每一行不能存在空行
--ignore ".../.../.../Pods" \
对于注释:XCode给定的快捷键option+command+/
/**
公历类 【对类进行说明】
*/
@interface Solar : NSObject
/**
*公历 日 【对属性进行说明】
*/
@property(assign) int solarDay;
/**
*公历 月
*/
@property(assign) int solarMonth;
/**
*公历 年
*/
@property(assign) int solarYear;
@end
/**
完成点击
@param model 结果
*/
-(void)complete:(DateModel *)model{
//todo
}
基本操作已完成,接下来就是认真的熟悉每一个命令
help
Find more help and tips online:
-
[b]
布尔参数,不使用任何值,使用-no-前缀来否定。 -
[*]
表示参数接受占位符字符串
path[路径]
简 | 全 | 说明 |
---|---|---|
-o | --output <path> | 输出路径 |
-t | --templates <path> | 模板路径 |
-s | --include <path> | 包含的静态Doc的路径 |
-i | --ignore <path> | 需要被忽略的路径 |
- | --docset-install-path <path> | DocSet安装路径 |
-x | --exclude-output <path> | 从输入排除的路径 |
- | --index-desc <path> | 文件包括主索引描述 |
PROJECT INFO[项目信息]
简 | 全 | 说明 |
---|---|---|
-p | --project-name <string> | 项目名称 |
-v | --project-version <string> | 项目版本 |
-c | --project-company <string> | 公司名称 |
- | --company-id <string> | 公司ID |
OUTPUT GENERATION[生成输入]
简 | 全 | 说明 |
---|---|---|
-h | --create-html | [b]创建HTML |
-d | --create-docset | [b]创建文件设置 |
-n | --install-docset | [b]给Xcode安装文件 |
-u | --publish-docset | [b]准备发行DocSet |
- | --html-anchors <string> | [*]DocSet的HTML版本的作者 |
- | --clean-output | [b]在开始前删除输出路径的内容!!小心!! |
OPTION[选项]
简 | 全 | 说明 |
---|---|---|
- | --keep-intermediate-files | [b] 在输出路径中保留中间文件 |
- | --keep-undocumented-objects | [b] 保持无证对象 |
- | --keep-undocumented-members | [b] 保持非法成员 |
- | --search-undocumented-doc | [b] 文档搜索非法成员 |
- | --repeat-first-par | [b] 在成员文档中重复第一段 |
- | --preprocess-headerdoc | [b] 预处理头文件注释——仅为10.7! |
- | --print-information-block-titles | [b] 打印信息块的标题。“注:”、“警告:“,等等。 |
- | --use-single-star | [b]为加粗标志物使用一颗单星 |
- | --merge-categories | [b] 为类合并类别 |
- | --merge-category-comment | [b] 为类合并类别标识 |
- | --keep-merged-sections | [b] 保持合并分类部分 |
- | --prefix-merged-sections | [b] 前缀合并部分和类别名称 |
- | --explicit-crossref | [b] 显式缺省交叉引用模板的快捷方式 |
- | --use-code-order | [b] 按照输入文件中指定的顺序来排序 |
- | --crossref-format <string> | [b]交叉引用模板正则表达式 |
- | --exit-threshold <number> | [b]退出代码阈值以下,返回0 |
- | --docs-section-title <string> | [b]文档部分的标题(默认为“编程指南” |
WARINGS[警告]
简 | 全 | 说明 |
---|---|---|
- | --warn-missing-output-path | [b] 如果没有给出输出路径,则警告 |
- | --warn-missing-company-id | [b] 如果没有给出公司ID,则警告 |
- | --warn-undocumented-object | [b] 对非法对象警告 |
- | --warn-undocumented-member | [b] 对非法成员警告 |
- | --warn-empty-description | [b] 空描述块上的警告 |
- | --warn-unknown-directive | [b] 对未知指令或格式发出警告 |
- | --warn-invalid-crossref | [b] 警告无效交叉引用 |
- | --warn-missing-arg | [b] 关于缺少方法参数文档的警告 |
- | --warn-unsupported-typedef-enum | [b] 对不支持的typedef枚举发出警告 |
MISCELLANEOUS[杂项]
简 | 全 | 说明 |
---|---|---|
- | --docset-bundle-id <string> | [*] DocSet包ID |
- | --docset-bundle-name <string> | [*] DocSet bundle名称 |
- | --docset-desc <string> | [*] DocSet 描述 |
- | --docset-copyright <string> | [*] DocSet 版权信息 |
- | --docset-feed-name <string> | [*] DocSet feed 名称 |
- | --docset-feed-url <string> | [*] DocSet feed URL |
- | --docset-feed-formats <values> | DocSet feed 格式. 由一个逗号分开 [atom,xml] |
- | --docset-package-url <string> | [*] DocSet package (.xar) URL |
- | --docset-fallback-url <string> | [*] DocSet 回退 URL |
- | --docset-publisher-id <string> | [*] DocSet出版商 ID |
- | --docset-publisher-name <string> | [*] DocSet出版商名称 |
- | --docset-min-xcode-version <string> | [*] DocSet 最小. Xcode版本 |
- | --docset-platform-family <string> | [*] DocSet 平台 |
- | --docset-cert-issuer <string> | [*] DocSet c证书发行机构 |
- | --docset-cert-signer <string> | [*] DocSet 签名者证书 |
- | --docset-bundle-filename <string> | [*] DocSet 包 文件名 |
- | --docset-atom-filename <string> | [*] DocSet原始 feed 文件名 |
- | --docset-xml-filename <string> | [*] DocSet xml feed 文件名 |
- | --docset-package-filename <string> | [*] DocSet 包 (.xar,.tgz) 文件名. 离开了扩展。这将根据生成的包来添加 |
DOCUMENTATION SET INFO[文档设置信息]
简 | 全 | 说明 |
---|---|---|
- | --logformat <number> | Log 格式 [0-3] |
- | --verbose <value> | Log 冗余等级 [0-6,xcode] |
- | --version | 显示版本和通道 |
- | --help | 显示帮助和通道 |
- - %PROJECT 取代 --project-name
- - %PROJECTID 取代标准 --project-name
- - %VERSION 取代 --project-version
- - %VERSIONID 取代 --project-version
- - %COMPANY 取代 --project-company
- - %COMPANYID 取代 --company-id
- - %YEAR 取代当前年份 (format yyyy)
- - %UPDATEDATE 取代当前日期 (format yyyy-MM-dd)
- - %DOCSETBUNDLEFILENAME 取代 --docset-bundle-filename
- - %DOCSETATOMFILENAME 取代 --docset-atom-filename
- - %DOCSETPACKAGEFILENAME 取代 --docset-package-filename