为什么 Combine 需要 macOS 10.15 及更高版本?

Why does Combine require macOS 10.15 and above?

我最近发现在 macOS 中使用新的 Combine SDK 需要最低部署目标 10.15。

诚然,我是 macOS 开发的新手。令我惊讶的是,这种性质的库会严格依赖最新的 OS 版本。

我的心智模型(显然缺少关键信息)告诉我 (a) SDK 使用 10.15 中引入的新系统调用或 (b) macOS 二进制文件是动态链接的而不是静态链接的正如我所假设的那样。

是不是其他的(c)?

macOS 应用程序动态链接到系统框架。

Combine 也有可能在后台使用其他新的 10.15 功能,尽管其 public API 中似乎没有任何内容可能需要新的 10.15 功能。

此外,从历史上看,Apple 并没有将重要的新框架作为用于后台部署的独立库发布。我所知道的唯一此类情况是“arclite”库,它在引入 ARC 时启用了某些(不是全部)ARC 功能的反向部署,以及早于 10.14.3 的 Mojave 版本的 Swift 运行时库并且再次不支持所有新的 Swift 功能。这两个都是支持低级语言运行时功能的案例,而不是重要的应用程序构建 APIs.