ByteNoteByteNote

字节笔记本

2026年8月30日

SwiftPamphletApp:SwiftUI 写的 Swift 手册

API中转
¥120

戴铭(@ming1016)开源的 SwiftPamphletApp 是一款用 SwiftUI 写的 macOS 知识手册,商店里叫「戴铭的小册子」。手册正文、资料剪藏、GitHub 开发者/仓库信息都塞在同一个三栏界面里,适合一边查 Swift / SwiftUI 知识点,一边把网页和仓库钉到对应条目上。仓库约 2500+ 星,MIT,当前主线是 6.x(SwiftData + Observable + NavigationSplitView)。

它是什么

不是在线文档站,而是本机 App。打开后左侧是知识点目录,中间看正文和示例,右侧(Inspector)挂资料、书签、WWDC 相关内容。6.x 相对早期版本主要改了三块:

  • 存储从第三方数据库换成 SwiftData,和 SwiftUI 绑定更直接
  • 每个知识点可以挂自己的资料,手册和剪藏不再两套孤立数据
  • GitHub 开发者、仓库的增删改挪进 App 设置,不用改代码

内置内容偏 Apple 技术:Swift 基础语法、SwiftUI、SwiftData、小组件,以及一部分计算机科学条目和知识合集;WWDC 相关内容也能搜。作者在 博客 会同步部分文字说明。

安装:商店优先

最省事的方式是 Mac App Store。搜索「戴铭」,或直接打开:戴铭的小册子

商店信息(写稿时):

  • 需要 macOS 14.0 及以上
  • 分类在「参考资料」,体积大约 8 MB
  • 付费应用(商店标价以页面为准)
  • 语言是简体中文;隐私声明为不收集数据

装好就能用手册和资料功能。想跟商店版本走自动更新,别混用自己编的包。

从源码编译(可选)

仓库:https://github.com/ming1016/SwiftPamphletApp

bash
git clone https://github.com/ming1016/SwiftPamphletApp.git
cd SwiftPamphletApp
open SwiftPamphletApp.xcodeproj

用较新的 Xcode 选 scheme SwiftPamphletApp,目标选本机 Mac,Run。工程依赖若干 Swift Package;如果包拉不下来,先检查网络/代理,再清 DerivedData 重试。

GitHub 相关功能需要 Access Token:

  1. GitHub Personal Access Tokens 申请,scope 至少勾 repouser
  2. 商店版 / 日常使用:到 App 设置里填 token(配置里对应 UserDefaultsudtoken
  3. 自己编译:也可以在 SwiftPamphletApp/App/SwiftPamphletAppConfig.swiftSPC.gitHubAccessToken 里写死;更稳妥仍是设置面板写入,避免把 token 提交进 git

源码里还留着 isShowGithub 等开关,关掉就只看手册,不碰 GitHub API。

怎么用手册

浏览知识点

启动后走 NavigationSplitView 三栏。左侧点开指南树(展开状态会记在 expandedGuideItems),中间读 Markdown 渲染的正文和示例。遇到常用条目可以收藏/书签,之后从收藏入口回跳。

搜比翻目录快:手册正文、资料、WWDC 条目都进同一套搜索。记得住关键词(比如 SwiftDataWidget)就直接搜。

资料剪藏和关联

6.x 的重点是「知识点 ↔ 资料」:

  1. 打开某个知识点
  2. 在资料侧栏新增一条(网页链接或本地整理的笔记)
  3. 需要防失效时,用离线保存把页面内容落本地
  4. 之后从该知识点进资料,或反过来从资料跳回知识点

适合把官方文档、博客、Issue 讨论钉在对应语法点旁边,而不是另开一个笔记 App 再手工同步标题。

管 GitHub 开发者和仓库

填好 token 之后,可以在 App 内添加、删除要关注的开发者和仓库,拉公开资料(星数、简介一类),不用改仓库里的 JSON。只做手册阅读的话,这一步可以跳过。

一个小流程例子

假设你在啃 SwiftData

  1. 搜索「SwiftData」,打开对应手册页,先过一遍内置说明和示例
  2. Apple 的 SwiftData 文档 加进该知识点的资料,并开离线保存
  3. 书签收藏这一页,下次从收藏进
  4. 若还跟某个示例仓库,在 GitHub 管理里把仓库加进来,和手册分开看也行

整条链路都在一个窗口里,少切几次浏览器和备忘录。

注意几点

  • 系统版本:商店版要求 macOS 14+,老系统编源码也不一定过,先看 Xcode 部署目标
  • Token 别进仓库SwiftPamphletAppConfig.swift 里的空字符串是占位;提交前确认没把自己的 token 写进去
  • 付费与开源:源码在 GitHub(MIT),商店是打包分发渠道;自己编译可以免费跑,但签名、更新、沙盒体验和商店版不一样
  • 内容在迭代:知识点覆盖面随版本加,别指望一本手册替代官方文档;把它当索引 + 剪藏壳更合适
  • 依赖网络:手册正文在本地;GitHub 信息、在线资料抓取需要网络,离线保存过的页面才能断网看

仓库与发行说明见 ming1016/SwiftPamphletApp;商店页见 戴铭的小册子。作者博客: starming.com

分享: