我最近发现,在macOS中使用新的Combine SDK需要将最低部署目标定为10.15。
诚然,我是macOS开发的新手。令我惊讶的是,这种性质的库将严格依赖最新的OS版本。
我的思维模型(显然缺少关键信息)告诉我(a)SDK使用10.15中引入的新syscall,或(b)macOS二进制文件是动态链接的,而不是我所假设的静态链接。
还有其他(c)吗?
macOS应用与系统框架动态链接。
[Combin也有可能在幕后使用其他新的10.15功能,尽管其公共API中似乎没有什么可能需要新的10.15功能。
而且,从历史上看,Apple尚未将重要的新框架作为独立的库进行发布以进行后期部署。我知道的唯一此类情况是“ arclite”库,该库在引入ARC时启用了某些(并非全部)ARC功能的回部署,而Mojave的Swift运行时库早于10.14.3版本,并且再次没有这样做。支持所有新的Swift功能。这两种情况都是支持低级语言运行时功能,而不是重要的应用程序构建API。