前言

对于开发人员而言,文档的作用不言而喻。文档不仅可以提高软件开发效率,还能便于以后的软件开发、使用和维护。上一篇主要讲述 Objective-C 生成文档,本篇主要讲述 Swift 快速生成开发文档工具 Jazzy

简介

Jazzy 是 Swift 和 Objective-C 的文档生成工具。Jazzy 并不会解析源文件,而是使用 AST 来表示代码,并且提供准确的结果。Jazzy是一个命令行实用程序, 可以从已编译的 Swift 模块中生成文档,输出风格和官方文档匹配。

jazzy

运行环境

  • 建议在 macOS 上运行
  • 支持 Xcode 和 Swift Package Manager 项目

安装

sudo gem install jazzy -n /usr/local/bin --verbose

jazzy

使用

  • 终端进入工程目录
 cd /Users/yusheng/Desktop/Jazzy
  • 执行命令行
jazzy --min-acl internal
# 选择 Swift 语言版本
jazzy --swift-version 4.1.2 --min-acl internal

常见问题

1.安装问题

ERROR: Failed to build gem native extension.

    current directory: /Library/Ruby/Gems/2.6.0/gems/redcarpet-3.5.0/ext/redcarpet

/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby -I /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0 -r ./siteconf20190906-93824-4j4s2f.rb extconf.rb

mkmf.rb can't find header files for ruby at /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/include/ruby.h

You might have to install separate package for the ruby development

environment, ruby-dev or ruby-devel for example.

extconf failed, exit code 1

Gem files will remain installed in /Library/Ruby/Gems/2.6.0/gems/redcarpet-3.5.0 for inspection.

Results logged to /Library/Ruby/Gems/2.6.0/extensions/universal-darwin-19/2.6.0/redcarpet-3.5.0/gem_make.out

解决:

# 这是由于本地安装的ruby版本低导致的问题,更新ruby版本即可
brew upgrade ruby

2.安装问题

Can't find header files / clang

执行下命令即可:

xcode-select --install

3.安装问题

dyld: Symbol not found: _$s11SubSequenceSlTl
  • 更新至 macOS 10.14.4 或更高版本;或者
  • 安装 Xcode 10.2 或更高版本在/Applications/Xcode.app.

4.执行jazzy命令是问题

xcodebuild: error: The directory does not contain an Xcode project, workspace or package.

...

Please confirm that `xcodebuild` is building a Swift module.

将项目编译下即可执行成功

文档生成效果

Jazzy 的 Objective-C 文档

jazzy