简体   繁体   中英

Why does Combine require macOS 10.15 and above?

I recently discovered that usage of the new Combine SDK in a macOS necessitates a minimum deployment target of 10.15.

Admittedly, I am new to macOS development. It is surprising to me that a library of this nature would have strict dependencies on the latest OS version.

My mental model (which is apparently missing key information) tells me either (a) the SDK uses new syscalls introduced in 10.15 or (b) macOS binaries are dynamically-linked and not statically-linked as I had assumed.

Is it some other (c)?

macOS apps are dynamically linked against system frameworks.

It is also possible that Combine uses other new 10.15 features under the hood, although there is nothing in its public API that seems likely to require new 10.15 features.

Also, historically, Apple has not shipped significant new frameworks as standalone libraries for back-deployment. The only such cases I'm aware of are the “arclite” library which enabled back-deployment of some (not all) ARC features when ARC was introduced, and the Swift runtime libraries for Mojave releases earlier than 10.14.3 and again didn't support all the new Swift features. Both of those were cases of supporting low-level language runtime features, not significant app-building APIs.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM