如何配置Doxygen以正确记录Objective-C类别

Flu*_*imp 5 doxygen objective-c categories

Doxygen似乎对Objective-C类别进行了特殊处理,我想知道其他人是否能够成功解决它.我想doxygen将类中的所有类别记录为单独的实体,而不管是否记录了基类.

如果我将doxygen标记添加到未记录的基类上的类别 - 比如NSString,那么doxygen 会将类列表中的类别及其方法列为单独的实体.

/**
 *   @category NSString(Foo)
 *   @brief A sample category on NSString
 */
 @interface NSString(Foo)
 @end
Run Code Online (Sandbox Code Playgroud)

结果在类列表中记录的实体NSString(Foo).

但是,以下示例不会:

/**
 *    @category CCFMyCustomClass(Foo)
 *    @brief A category on a documented base class
 */
@interface CCFMyCustomClass(Foo)
@end
Run Code Online (Sandbox Code Playgroud)

相反,在后一种情况下,CCFMyCustomClass(Foo)上的所有方法都包含在CCFMyCustomClass的文档中 - 基类.

以下虽然经常被引用,但似乎没有帮助解决这个问题:

Abi*_*ern 3

您可以跳过 Doxygen 并使用AppleDoc

appledoc 是命令行工具,可帮助 Objective-C 开发人员从特殊格式的源代码注释生成类似 Apple 的源代码文档。它的设计目的是为了输入尽可能可读的源代码注释,并使用注释以及周围的源代码来生成 HTML 形式的视觉上吸引人的文档以及完全索引和可浏览的 Xcode 文档集。尽管有多种工具可以为 Objective-C 创建 HTML 文档,但据我所知,所有这些工具都无法满足下面描述的最低目标。

也可以在GitHub上找到