大多数浏览器和
Developer App 均支持流媒体播放。
-
Swift-DocC 的新功能
和我们一起了解 Swift-DocC 的精彩更新,学习如何为您自己的项目编写与共享文档。我们将探索 Swift-DocC 导航的改进,并分享为 App 目标及 Objective-C 代码编译文档的流程。我们还会介绍如何将您的内容直接发布到托管服务,如 GitHub Pages。
资源
- DocC
- Documenting apps, frameworks, and packages
- SlothCreator: Building DocC Documentation in Xcode
- SwiftDocCPlugin
相关视频
WWDC23
-
下载
♪ 柔和乐器演奏的嘻哈音乐 ♪ ♪ Franklin Schrans: 您好 我叫 Franklin 我是 Swift-DocC 团队的工程师 我将与我的同事 Ethan 一起 为您介绍 Xcode 14 中的 Swift-DocC 它装载了许多优秀的新工具 用来帮助您创建更好的文档 我们去年在 Xcode 13 中 引入了 Swift-DocC 可以让您指导开发人员 如何使用您的 Swift 框架 使用 Swift-DocC 您可以编写全面的文档内容 从单个 API 的参考文档 到提供一起使用这些 API 的 更高层次描述的概念性文章 一直到引导用户完成任务 的分步教程 在今年发布的 Xcode 14 中 Swift-DocC 开启了全新的 令人兴奋的工作流程 我们很兴奋地告诉您 现在除了文档框架 现在 Swift-DocC 也支持 App 项目 这样您就可以轻松地 与您的团队协作 您现在还可以使用 Swift-DocC 记录 Objective-C 语言 和 C 语言 API 文档 并允许您将所有 APIs 文档结合起来进行描述 将您制作的内容发布到网站 现在变得出乎意料的容易 对于类似 GitHub Pages 的静态托管环境 具有开箱即用的环境支持 感谢功能强大的新导航侧边栏 开发人员能够比以往任何时候 都容易发现您的内容 此外 由于 Swift-DocC 现在是一个开源项目 因此这些新特性是与 开源社区密切合作开发的 在本次讲座中 我们将开启 Swift-DocC 旅程 以及了解它在 Xcode 14 中开启的 令人兴奋的全新工作流程 首先 我们将讨论在您的项目中 如何与您的源代码内联 并记录 API 然后 我们会看看如何无缝地 将您的内容发布到网站 最后 我们会研究 网站上全新的导航侧边栏 让我们先从编写文档开始 好的文档对于任何软件项目 都是必不可少的 随着项目的发展 描述其功能和设计概念非常重要 以便于让开发者在参与工作时 有一个坚实的参考点 Xcode 中的 Swift-DocC 为您提供 创建出色文档所需的工具 它使用的是与 代码开发相同的工具 在今年 我们很高兴能将 Swift-DocC 扩展到 App 项目中去 让我们深入了解一下 我们需要编写一个软件 这个软件是我和我的团队开发的 软件名叫做 Slothy 其中包含 Swift 和 Objective-C 的程序源文件 即使对于一个 我还没有编写文档的 全新项目 您仍然可以打开 Project 菜单 并选择 Build Documentation Xcode 打开会文档窗口 您将看到 Swift-DocC 自动为您的 API 生成的根节点 这为填补页面内容 提供了一个很好的起点 以便于帮助参与者导航项目 那么 让我们一步步的 为该项目的开发者 将这些内容变成一份 丰富而完整的 App 构建指南 一个成功的开始就是说明每个 API 是如何工作的 然后 使用文档目录 提供更高级别的内容 让我们从视图 SlothView 的内容描述开始 为了让 Swift-DocC 可以识别这部分文档内容 请在注释前加上三个斜杠 然后 为您的视图添加简明摘要 在构建的文档页面中 该内容将转换为文本 显示在视图名称正下方的显著位置 然后 增加其他段落 以添加更多详细信息 此内容显示在页面的概述部分 并且 使用 Swift-DocC 链接语法 会将针对 API 的引用 转换为活动链接 让您快速跳转到相关页面 以便了解更多信息 DocC 甚至可以在您建立文档时 校验这些了链接 所以 如果链接失效 您就会收到一个警告信息 最后 如果您想为这个视图 提供一段示例代码 请使用 Markdown 代码块语法 添加代码示例 现在 参与者对此视图的使用方法 一目了然 只需要几个步骤 我的视图文档 就可以为项目参与者提供更多的帮助 接下来 让我们为一个 初始化程序编写文档 和之前一样 从写摘要开始 对于初始化程序和方法模块 最好单独描述每个参数 您可以通过添加 参数列表项来做到这一点 简要说明每个参数 的用处和意义 注意在单独显示的 参数部分中 描述内容的显示方式 现在让我们看一下使用 Objective-C 编写的 API 在这个项目中如何编写文档定义 我们很高兴为您带来 Xcode 14 中的新功能 使用 Swift-DocC 的综合工具 来为 Objective-C 代码创建文档 使用类似于您了解并喜爱的 Markdown 语法 以及在 Xcode 源码编辑器 中得到的升级和支持 您现在可以将项目中 所有 API 进行统一的 组织和描述 对于可以从 Swift 和 Objective-C 使用的代码 页面会有一个小巧的语言切换 显示在代码的浏览页面里 点击视频下方的开发人员文档链接 以查看更多细节 现在 让我们将它 应用到我们的 Slothy 项目中 我将针对 SLOSound 类 及其初始化程序进行描述 请注意 因为这个类 可以同时在 Swift 和 Objective-C 中使用 Xcode 会显示 一个语言切换提示 允许您切换到 您正在使用语言的描述页面 让我们使用 与 Swift 语法相同的 Markdown 语法 描述类和初始化程序 太好了 这看起来好多了 我添加了 一个摘要 一个概述 以及对于初始化程序的 参数部分的描述 至此 对各个 API 的描述 就结束了 通过在源代码中编写一些文档注释 参加我项目的开发人员 将会更好的 了解如何使用这些 API 现在 让我们专注于 为我们的 App 创建一个漂亮的顶级页面 这是参与开发者将要看到的第一页 所以我想提供一个很好的介绍 以便于参与者了解 App 的功能 以及如何参与项目 要定义顶级页面 首先添加一个文档目录 请右键点击项目的源文件夹 并选择 New File 然后选择 Documentation Catalog 文档目录可以 补充您的源代码文档 并包含其他 Markdown 文件和媒体 Xcode 会自动 为 App 的顶级页面 添加一个文件 让我们来概述一下 App 的功能 使用与源代码中文档注释相同的语法 我添加了一个摘要 一个概述 以及甚至像图片一样的富文本内容 太好了 这样看起来更有吸引力了 现在参与者一眼就知道 我的 App 是关于什么的了 就是这样 我极大地改进了 App 的文档 并给我的项目参与者 提供了一个很好的参考点 他们可以从顶级页面 浏览项目的概览内容 并跳转到每个 API 的详细信息页面 现在我们已经了解了 如何编写和构建文档 是时候将其发布到网站了 以便项目参与者可以轻松浏览它 交给您了 Ethan Ethan Kusters: 谢谢 Franklin 我们一直在以模块化方式 开发 Slothy App 开发内容还有一个 更普遍有效的 Swift 软件包 这个软件包叫做 SlothCreator 我认为将 SlothCreator 发布 给更广泛的受众是更好的 以便其他开发人员 在制作与 Sloth App 相关的 App 时可以用的上 作为这项工作的一部分 我想确定 SlothCreator 的文档 很容易在网络上得到共享 那么让我们来看看 Swift-DocC 的全新功能 简易发布工作流程 在 Xcode 中构建文档时 Swift-DocC 会生成一个 包含文档的静态包 此包称为 DocC 档案 是您的文档的便携式容器 您可以直接从 Xcode 的文档窗口导出 并将其发送给同事 他们只需双击档案文件 就可以打开和浏览文档 但 DocC 档案不仅仅是 一个为了在 Xcode 中 打开文档的便携式容器 它还包含一个功能齐全的 开箱即用网站 在 Xcode14 中 新增的 DocC 档案功能 也与大多数 Web 服务器直接兼容 这使得将您的文档发布到网络上 比以往任何时候都容易 在大多数情况下 您只需 通过拷贝您建立好的 DocC 档案内容 复制到网络服务器的根目录 来部署您的文档 这也就意味着 DocC 档案 现在与大多数托管服务兼容 包括 GitHub Pages GitHub Pages 是一种流行的方式 许多开发人员将他们的文档 直接集成到 GitHub.com 中 并且由于我们一直 在 GitHub 上 进行 SlothCreator 的源代码管理 因此我们在那里发布文档 也是有意义的 如果您熟悉如何使用 GitHub Pages 您应该清楚 与一般的 Web 服务器不同 您的网站不会在 URL 的根路径中发布 而是发布于一个 特定的基本路径上 在这种托管场景中 您需要使用附加的构建设置 来指定网站的基本路径 以便生成兼容的 DocC 档案 若要充分了解它是如何工作的 以及为什么我们只需要 在某些如在 GitHub Pages 的托管场景中需要此配置 让我们来看看托管 在您自己的域服务器上 DocC 档案的 URL 会是什么样子 假设我们已有一个 Slothy App 的网站 slothy.example.com 我们希望将 SlothCreator 的文档 作为该现有网站 的一部分进行发布 如果我们只获取 SlothCreator DocC 档案的内容 并将其复制到 我们网络服务器的根目录 那么 SlothCreator 的参考文档的网站链接将会是 slothy.example.com/ documentation/slothcreator 任何 SlothCreator 包的教程 都将位于邻近的 tutorials 路径上 然而 在这个案例里 我们不会将文档 发布到我们自己的域服务器 取而代之的是将文档 保存到我们的 GitHub 存储库中 我们会将文档发布到 GitHub Pages 提供的域内 当您为存储库创建 GitHub Pages 站点时 该网站的 URL 并不是直接位于根路径下的 而是位于一个与 存储库名称相对应的基本路径下 通常这类名称的表现类似于: 您的用户名.github.io/您的存储库名 任何参考和教程的文档路径 都会附加在该基本路径之后 因为此基本路径对于 您的存储库来说是唯一的 所以在构建用于发布到 GitHub Pages 的 DocC 档案之前 告诉 Swift-DocC 发布路径是什么就非常重要 这是在 Xcode 14 中 针对此项目构建的新的配置设置 配置后 DocC 档案的网络托管基本路径 (DocC Archive Hosting Base Path) 将会设置为您的 GitHub 存储库名称 现在您已经为 将来所有文档的构建做好了准备 让我们看看这在实践中是如何工作的 在这里 我打开了 SlothCreator Swift 软件包 Franklin 早先将其作为 Slothy App 的依赖项向您展示过 因为我们即将发布 这个包以供更广泛的使用 所以我将继续在 GitHub 页面上发布 我们准备好的文档 我将首先打开框架的项目设置 通过将鼠标移动到 Xcode 的项目导航器 并选择 SlothCreator 项 接下来 我需要选择 SlothCreator 标签 然后打开 Build Settings 选项卡 在这个案例中 我正在寻找与 Swift-DocC 的相关设置 所以让我们过滤 DocC 的内容 现在我将设置 DocC Archive Hosting Base Path 设置我们存储库的 名称为 sloth-creator 好的 接下来 让我们来构建文档 我将鼠标移到 Product 菜单 并选择 Build Documentation 当 Xcode 完成项目编译 并为其生成文档后 文档窗口将会打开 这是 SlothCreator 文档的顶级页面 让我们继续来导出它 我将鼠标移到文档导航器的 SlothCreator 项目上 接下来 我将单击上下文菜单 并选择 Export 我要把它导出到一个名为 docs 的目录 这个目录在我的 存储库的根目录中 因为这就是我将文档网站 发布到 Github Pages 的配置方式
现在我只需要提交并 将我的更改推送到 GitHub 回到 Xcode 主窗口 我将鼠标移到 Source Control 菜单 并选择 Commit 我将选择包含文档内容的 docs 目录 并写一个提交信息 接着 让我们推送更新内容
就是这样 现在去看看发布的网站 我将在 GitHub.com 上 打开我的存储库
我已经在 README 文件中设置了 一个指向文档站点的链接 所以我只需点击它 那么现在我们就到首页了 太棒了 我们为 SlothCreator 编写的文档 可以在网络上轻松地访问 我认为这对 有兴趣在自己的项目中 使用 SlothCreator 的人们来说真的很有帮助 现在我们已经为 SlothCreator 部署了一次文档 现在我非常想设置自动化部署 以便于 在存储库中的文档发生任何变化时 自动发布 由于我们将 SlothCreator 作为 Swift 软件包发布 新的 Swift-DocC Swift Package Manager 插件 在这里会有很大的帮助 您可以在部署 Swift 软件包时 使用 Swift-DocC 插件 以便于真正简化构建文档的过程 该插件的文档链接在视频下方 我建议您看一看 作为将文档自动化 部署到 GitHub Pages 和其他托管服务时的 一个很好的起点 当然 Swift-DocC 仍然可以通过 使用 xcodebuild docbuild 命令行接口 为 Xcode 项目 提供强大的命令行支持 该功能是在 Xcode 13 中引入的 关于如何使用 xcodebuild 命令 自动化部署 GitHub Pages 的文档链接在视频下方 我们很高兴 今年可以在网上发布 Swift-DocC 的增强型浏览和导航体验 让我们来看看 新的导航侧栏如何 帮助 SlothCreator 的文档读者 探索框架所提供的功能 我们回到了SlothCreator 的 GitHub Pages 站点 在页面的左侧 是新的导航侧边栏 我将鼠标移动 CareSchedule 项目 并通过单击三角形展开内容 现在我可以看到页面就像 CareSchedule 的子节点 已经被重新组织并显示了出来 这甚至不用完全打开页面 在本例中 我希望的是 直接跳转到类型的初始化器 我可以继续在框架中导航 打开其他项 就像 FoodGenerator 和 SlothFood 这样 直至最终打开树形页面 当我在页面之间导航时 导航侧边栏的状态保持不变 并允许我跟踪 我已经访问过的页面 这允许对框架进行 非常有效的探索 这对我来说太有用了 但是 如果我已经熟悉 SlothCreator 框架 并且正在寻找有关 特定符号的信息该怎么办呢? 新导航侧边栏底部的过滤器 非常适合这个需求 我想找到一个 增强树懒能量等级的 API 我将鼠标移动到导航器的底部 选择过滤器栏 然后输入 energy 完美 有关 energyLevel 属性的文档 正是我想要的 在 Xcode 14 中的 Swift-DocC 提供的 新浏览体验可以把您的站点 提升到一个新的水平 我们很高兴您能尝试一下 Swift-DocC 在 Xcode 中的集成功能 现在对所有项目的 文档化提供了支持 这包括您在 App 和使用框架中 的 Objective-C 和 Swift 代码 无论是打包为 Xcode 项目 还是 Swift 软件包 都是可用的 Xcode 14 生成的 DocC 档案 可以立即与流行的托管服务兼容 这也包括 GitHub Pages 这是分发文档的变革者 可以把文档提供给更广泛受众 最后 Swift-DocC 提供 强大的网上全新导航体验 导航侧边栏将解锁 探索和查找您网站上 文档的新方式 了解更多关于新的 Swift-DocC 侧边栏的信息 以及如何利用其功能 最好地构建您的文档 请查看讲座 Improve the discoverability of your Swift-DocC content 为了提高您的文档 展示和部署水平 请查看 Build interactive tutorials using DocC 讲座 以便于了解如何构建分步导航教程 帮助并引导开发者 了解您的 App 或框架 我们非常期待 能看到您用 Xcode 14 编写和发布的所有文档 谢谢收看 ♪
-
-
3:21 - Documenting the SlothView struct
/// A view that displays a sloth. /// /// This is the main view of ``SlothyApp``. /// Create a sloth view by providing a binding to a sloth. /// /// ```swift /// @State private var sloth: Sloth /// /// var body: some View { /// SlothView(sloth: $sloth) /// } /// ``` struct SlothView: View { // ... }
-
4:25 - Documenting an initializer
struct SlothView: View { /// Creates a view that displays the specified sloth. /// /// - Parameter sloth: The sloth the user will edit. init(sloth: Binding<Sloth>) { // ... } }
-
5:24 - Documenting the SLOSound Objective-C class
/// A sound that can be played. /// /// Use an instance of this type to play a sound /// to the user in response to an action or /// event. @interface SLOSound : NSObject /// Creates a sound given its name and path on /// disk. /// /// - Parameters: /// - name: The name of the sound. /// - filePath: The path to the sound file on disk. - (id)initWithName:(NSString *)name filePath:(NSString *)filePath; @end
-
6:48 - Documenting the top-level page for the Slothy app
# ``Slothy`` An app to create and care for custom sloths. ## Overview Slothy is an iOS app that allows users to create and care for virtual sloths. ![An illustration displaying the UI for finding, creating, and taking care of a sloth in Slothy.](slothy.png) The Slothy app project contains views to present Slothy's user interface, and utilities to play sounds as the user interacts with the app.
-
-
正在查找特定内容?在上方输入一个主题,就能直接跳转到相应的精彩内容。
提交你查询的内容时出现错误。请检查互联网连接,然后再试一次。