一个使用 Swift 开发跨 Apple 平台 App 的框架。
最低操作系统目标版本为 iOS 9、macOS 10.12、tvOS 10 和 watchOS 3
尽管 Apple 定期在最新的操作系统中提供出色的新功能(例如 SwiftUI),但通常你需要支持跨多个操作系统版本,甚至跨多个平台的 App。 这就是 CoreResolve(及其“Resolve”模板)的用武之地。 无论操作系统版本或平台如何,它都能提供一致的体验。 因此,当你的目标仅为最新的操作系统版本时,可以随意选择不使用某些自定义类和协议。 文档会尽力建议 Apple 的替代方案(如果需要)。
CoreResolve 不对将要开发的 App 类型做任何假设。 因此,它仅包含与 App 无关的协议、结构、枚举和类。 此外,它不会尝试提供超出 App 中通常需要的更多功能。 但是,它简化了 Apple 一些出色类的使用,包括 NSFetchedResultsController
尽管看起来有些多余,但 CoreResolve 也提供了一些代码来包装现有的 Apple 功能; 目的是支持单元测试,以及统一对当前和已弃用类的访问,以便相同的代码可以定位到更早的操作系统。 一些例子是
需要在其 App 和扩展之间共享代码的 App 应该为此目的提供自己的框架,如果需要,可以扩展或抽象 CoreResolve 中的元素。
Resolve 项目模板是创建一个支持所有 Apple 平台的单个 App 的一个例子,并提供了关于如何使用 CoreResolve 的优秀指导。
CoreResolve 正在积极地进行增强,并且代码中仍然有一些 TODO。 这些更新的优先级基于需求。 它对于 Linux 环境也可能有用。 如果您希望提供建议或为此类扩展做出贡献,请联系我们。