开源项目
insidegui/WWDC avatar
insidegui/WWDC

insidegui/WWDC:macOS 上的非官方 WWDC 观看工具,值得在大会周使用吗?

项目速览:适用于 macOS 的非官方 WWDC 应用程序。观看现场主题演讲和平台国情咨文,以及 WWDC 周期间发布的所有会议的视频,以及您可以在 Apple 网站或开发者应用程序上找到的其他视频内容。

8,754 个 Star768 个 ForkSwiftBSD-2-Clause

秒懂

它是什么?
本文介绍 insidegui/WWDC,一个用 Swift 编写的 macOS 非官方 WWDC 应用,涵盖其核心功能、构建方式、已知限制,以及它是否适合你的使用场景。
适合谁用?
如果你每年 WWDC 期间都在 Mac 上追直播、看回放,并且愿意自己动手构建,insidegui/WWDC 能提供比官方网页更顺手的体验,尤其是书签、多倍速播放和片段分享这些细节。但如果你不想碰 Xcode,或者依赖 iCloud 同步,那么它并不适合你,因为自行构建时 CloudKit 功能会被禁用,你只能使用本地数据。
能商用吗?
可以。BSD-2-Clause 是宽松许可证:你可以使用、修改并销售基于它的软件,只需保留版权和许可证声明。
还在维护吗?
在维护。仓库最近一次提交在 90 天前。
用什么语言写的?
主要是 Swift(依据 GitHub 的语言统计)。

以上回答依据项目的 GitHub 数据(最近同步于 2026年9月15日)和我们的分析,不构成法律意见。

开源项目深度解析

这个项目解决什么问题

WWDC 的官方观看渠道主要是网页和 Developer app,但网页体验在 Mac 上并不总是顺手,尤其是直播、多倍速播放和笔记功能。insidegui/WWDC 是一个用 Swift 编写的 macOS 应用,它把 Keynote、Platforms State of the Union 以及 WWDC 周内发布的全部 session 视频集中到一个原生窗口中。它还覆盖了 Apple 网站或 Developer app 上的其他视频内容,相当于一个聚合入口。目标用户很明确:那些在 Mac 上追 WWDC、需要做笔记、希望用键盘和鼠标高效操作的人。它不是给偶尔看一两个视频的 casual 用户准备的,因为安装和构建门槛已经筛掉了一部分人。

核心机制:数据、缓存与播放

应用的数据层由内部库 ConfCore 负责,它对接 Apple 的 WWDC API,处理存储、缓存、同步和字幕。播放器部分拆成了 PlayerUI,负责视频播放器的 UI 组件。网络请求用的是 Siesta,一个专注于 REST 的 Swift 框架。数据存储和缓存用的是 Realm,但项目维护者维护了一个 fork,把原来的 target 换成了 binaryTarget,这个改动在 README 里被标注为潜在风险点。整体架构是典型的 MVC 加模块化:ConfCore 管数据,PlayerUI 管界面,主 target 负责组装。这种分层让开发者可以单独替换某一层,但也意味着依赖链较长,任何一个第三方库的更新都可能影响整个应用。

安装与构建:不是下载即用

如果你只是想要最新版本,可以去 GitHub 的 releases 页面下载。但如果你想自己构建,README 明确要求 Xcode 16 或更高版本。步骤是:克隆 master 分支,然后运行 ./bootstrap.sh。这个脚本会配置项目,并询问你的 Apple Developer team ID,用于代码签名设置。它还会通过 brew 安装 swiftlint,如果你没有的话。构建时必须使用名为 WWDC 的 scheme,而不是带 iCloud 的那个。一个关键限制是:由于应用使用了 CloudKit,自行构建时所有 CloudKit 相关功能会被禁用。也就是说,你编译出来的版本没有 iCloud 同步。开发过程中可以用 ./cleardata.sh 或 ./cleardebugdata.sh 清空偏好和数据,但这两条命令会删除所有收藏、书签和观看进度,使用时必须小心。

书签与片段分享:真正的实用功能

书签功能允许你在视频的某个时间点创建参考点,并添加注释。这些注释会参与搜索,所以你可以通过关键词找到之前标记的内容。这比在浏览器里开多个标签页记笔记要高效得多。另一个亮点是 Clip Sharing,它允许你分享一段最长 5 分钟的视频片段。这个功能对需要在团队里分享某个 session 细节的人来说很实用,比如把一段关于新 API 的讲解发给同事。两个功能都依赖底层数据模型,书签的注释存储在 Realm 里,搜索时会被索引。如果你不自己构建,直接从 releases 下载,这些功能开箱即用。但要注意,书签的搜索范围只限于本地数据,如果你在另一台 Mac 上使用,且没有 iCloud 同步,那这些书签就是孤岛。

iCloud 同步:一个被砍掉的功能

应用支持通过 CloudKit 同步收藏、书签和观看进度,但前提是你使用官方发布的版本。自行构建时,CloudKit 功能被完全禁用,因为配置里没有你的开发者账号对应的 CloudKit container。README 里写得很清楚:'Since the app uses CloudKit, when you build it yourself, all CloudKit-related functionality will be disabled.' 这意味着如果你打算自己编译,你就失去了多设备同步的能力。这是一个重要的取舍。对于个人开发者来说,这可能不是问题,因为本地数据已经足够。但如果你有多台 Mac,或者希望和 iPhone 上的 Developer app 联动,那你就得依赖官方 release 或者自己配置 CloudKit,后者需要额外的开发工作。

替代方案与差异

最直接的替代方案是 Apple 官方的 Developer app,它同样提供 WWDC 视频、字幕和书签,而且原生支持 iOS 和 macOS。但它的界面和交互是为 Apple 生态设计的,不提供多倍速播放的细粒度控制(官方 app 只有固定倍速),也没有像 Clip Sharing 这样的片段分享功能。另一个替代方案是直接使用 Safari 浏览 Apple 的 WWDC 网页,配合浏览器扩展来增强体验,但这需要额外安装扩展,而且无法获得原生播放器的画中画支持。insidegui/WWDC 的优势在于把视频、字幕、书签和分享整合在一个原生应用里,并且提供了 0.5x 到 2x 的倍速选项,包括自定义速度。如果你需要这些功能,官方工具做不到,这个应用就是更合适的选择。

维护状态与升级成本

项目最近一次提交是 2024 年 6 月 7 日,发布了 7.5 版本,正好赶上 WWDC 2024。这显示维护者会在大会期间及时更新,但非大会期间更新频率会低很多。使用第三方库意味着你需要关注它们的更新,尤其是 Realm 的 fork,如果上游改动较大,可能需要手动调整。Sparkle 负责自动更新,所以从 releases 安装的用户能收到新版本通知。但自行构建的用户需要自己拉取最新代码并重新编译。升级成本主要在于 Xcode 版本的兼容性,因为项目要求 Xcode 16,如果 Apple 更新了 Xcode 导致 API 变化,可能需要等待维护者适配。许可证是 BSD-2-Clause,允许自由使用和修改,但如果你修改了代码并分发,需要保留原许可证声明。

编辑结论

如果你每年 WWDC 期间都在 Mac 上追直播、看回放,并且愿意自己动手构建,insidegui/WWDC 能提供比官方网页更顺手的体验,尤其是书签、多倍速播放和片段分享这些细节。但如果你不想碰 Xcode,或者依赖 iCloud 同步,那么它并不适合你,因为自行构建时 CloudKit 功能会被禁用,你只能使用本地数据。在决定采用之前,先确认你的 macOS 版本是否满足 Xcode 16 的要求,并准备好接受一个由社区维护、非官方发布的工具可能带来的不稳定。

官方来源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
社区笔记

社区笔记