Swiftdynamic库向后兼容旧的Swift版本项目
我开始从头开始编写SDK。 我不确定是否应该用Swift或Objective-C编写它。 我觉得Swift在很多方面都比Objective-C好,但是我的主要问题是 – Swiftdynamic库会支持Swift的老版本吗? 假设我在Swift 3.0中编写我的dynamic库,是否可以在使用Swift 2.2的项目中使用该dynamic库? 我在阅读的一篇文章中发现了这一点
dynamic库是可以链接到应用程序的可执行代码块。 此function允许当前的Swift应用程序随着时间的推移而与更新版本的Swift语言进行链接。
这是否意味着我将能够在使用Swift 2.2的项目中运行Swift 3.0中构build的dynamic库? 我也在苹果文档中find了这个
首先,Swift 2.3和Swift 3不是二进制兼容的,所以你的应用程序的整个代码库需要select一个版本的Swift。
我觉得这与第一个说法相矛盾。 我知道在Swift中导入Objective-C库使用桥接头是非常简单的,对于相反的情况也是如此吗? 在尝试使用Objective-C项目来实现Swift库时,是否会遇到任何问题或障碍。 我找不到任何解决向后兼容问题的答案或文章。 任何帮助深表感谢。 谢谢!
TLDR:dynamic库是用Swift 3(或更高版本)构build的,使用老版本的Swift或Objective-C中的项目
简而言之,第一个引用的声明是错误的(目前)。
Swift ABI(应用程序二进制接口)尚未最终确定。 ABI是函数调用外观的一系列约定,variables和引用如何存储在一个真实机器中等等。在最终完成之前,应用程序中的所有Swift模块都必须使用相同版本的Swift进行编译。
有关Swift ABI的更多信息,请参阅Swift ABI Manifesto。
- UILocalNotification没有做任何事情
- Swift 3 – 如何提高Tesseract的图像质量?
- 不知道这是什么意思线程1:EXC_BREAKPOINT(代码= EXC_1386_BPT,子代码= 0x0)
- UITextView专注,但用户触摸UICollectionViewCell。 隐藏键盘并运行didSelectItemAtIndexPath
- SWIFT:如何将小时添加到NSDate对象
- 如何快速打印数组中的对象值,而不是它的位置
- 错误使用Swift – 实例成员不能用于types'ViewController'
- Swift HTML解码的麻烦
- 电子邮件和电话validation在Swift中