Xcode具有自动生成格式和Apple Developer网站上的API文档几乎一样的HTML项目文档的功能。
生成步骤:
一、打开Xcode,打开工程,或者新建一个工程。
二:选择工程中的TARGET,点击下边的“+”号;
三、在弹出的对话框里,选择other里的aggregate,点next。
四、输入你喜欢的名字,点击finish;
五、此时,TARGETS下会多出一个项目;
六、点击多出的那个项目,然后在右边点击BuildPhases标签,然后点击“+”号,并选择New Run Script Phase.
七、Run Script添加成功后,在它的下拉菜单中,在图中标示的位置,把以下代码拷贝到对话框中:
# shell script goes here
mkdir -p headerDoc
find ./makeHtmlDoc -name \*.h -print | xargs headerdoc2html -o headerDoc
gatherheaderdoc headerDoc
exit 0
注意:代码里的./makeHtmlDoc是你的类文件的保存的路径,请根据各自情况修改。
八、在XCode左上角的Scheme里选定刚才生成的Target,然后点Run。
九、运行以后,在你的项目文件夹里,就会生成一个文档文件夹了。这些自动生成的文档都是根据你在源代码里写的注释生成的。
10、下面就详细介绍一下各种能自动生成文档的注释:
■ header : 头文件基本信息。这个用在每个源代码文件的头文件的最开头。
例如:
/*!
@header 这里的信息应该与该源代码文件的名字一致
@abstract 关于这个源代码文件的一些基本描述
@author Kevin Wu (作者信息)
@version 1.00 2012/01/20 Creation (此文档的版本信息)
*/
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
■class: 类信息。此注释用在类声明的开头。
例如:
/*!
@class
@abstract 这里可以写关于这个类的一些描述。
*/
@interface MyClass:NSObject{
}
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
■ property: property的相关注释。
/*!
@property
@abstract 这里可以写关于这个Property的一些基本描述。
*/
@property(nonatomic,readonly)NSString*helloDocText_;
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
■ method: 函数(方法)的相关注释。
/*!
@method
@abstract 这里可以写一些关于这个方法的一些简要描述
@discussion 这里可以具体写写这个方法如何使用,注意点之类的。如果你是设计一个抽象类或者一个
共通类给给其他类继承的话,建议在这里具体描述一下怎样使用这个方法。
@param text 文字 (这里把这个方法需要的参数列出来)
@param error 错误参照
@result 返回结果
*/
-(BOOL)showText:(NSString*)text
error:(NSError**)error;
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
■ enum: enum的相关注释。
/*!
@enum
@abstract 关于这个enum的一些基本信息
@constant HelloDocEnumDocDemoTagNumberPopupView PopupView的Tag
@constant HelloDocEnumDocDemoTagNumberOKButton OK按钮的Tag
*/
typedefenumHelloDocEnumDocDemo_{
HelloDocEnumDocDemoTagNumberPopupView=100,
HelloDocEnumDocDemoTagNumberOKButton,
}HelloDocEnumDocDemo;
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
■ category: category的相关注释。
/*!
@category
@abstract NSString的Category
*/
@interface KevinNSString(NSString)
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
■ protocol: protocol的相关注释
/*!
@protocol
@abstract 这个HelloDoc类的一个protocol
@discussion 具体描述信息可以写在这里
*/
@protocol HelloDocDelegate <NSObject>
以上列举的标准注释也许并不完善。
具体请参考苹果的developer网站的API文档。
最后,感谢同行朱洪伟!