库的版本之间的Swift兼容性

Aar*_*man 8 sdk xcode frameworks ios swift

我正在为其他开发人员分发库(http://empiric.al).我注意到在快速版本之间,即使是2.0到2.1之间,我也会得到Module file was created by a (newer/older) version of the compiler.

我需要以面向未来的方式进行分发.

我怎样才能确保将来我的编译框架可以被更新版本的Swift使用,所以我不必在Apple推出新版本后立即重新编译?

use*_*734 11

来自Apple的网站:

二进制兼容性和框架

虽然确保了应用程序的运行时兼容性,但Swift语言本身将继续发展,二进制接口也将发生变化.为了安全起见,应用程序的所有组件都应使用相同版本的Xcode和Swift编译器构建,以确保它们协同工作.

这意味着需要仔细管理框架.例如,如果您的项目使用框架与嵌入式扩展共享代码,您将需要一起构建框架,应用程序和扩展.依赖使用Swift的二进制框架是危险的 - 尤其是来自第三方的框架.随着Swift的变化,这些框架将与您的应用程序的其余部分不兼容.当二进制接口在一两年内稳定,雨燕运行时将成为主机操作系统的一部分,这个限制将不复存在.