开发兼容 Swift 的 iOS 框架
Posted
技术标签:
【中文标题】开发兼容 Swift 的 iOS 框架【英文标题】:Developing an iOS Framework with Swift compatibility 【发布时间】:2020-04-17 10:33:52 【问题描述】:我正在处理一个反复出现的问题。我在 Swift 5.1.3 和 xCode 11.3.1 下开发了一个 iOS 框架。
我的一些客户正在使用与我的框架不同的 Swift 版本开发他们的应用程序。
Module compiled with Swift 5.1.3 cannot be imported by the Swift 5.1 compiler
xCode 11.4 下的 Swift 5.2 版本的客户端存在同样的问题
是否需要设置配置使其不再依赖于 SWIFT 版本?
我听说过 Swift Compatibility 或 Module Stability,但都是最近才出现的,文档不多。
感谢您的回复
【问题讨论】:
你找到解决办法了吗? 【参考方案1】:是的,您需要启用库进化模式以使您的库与不同的 Swift 编译器版本兼容。
您需要做的唯一更改是在 Xcode 中为您的框架启用 BUILD_LIBRARY_FOR_DISTRIBUTION
构建设置(确保在调试和发布模式下都这样做)。
您可以在Library evolution Swift 页面上阅读更多相关信息。
【讨论】:
这并不能解决问题。 @AymanIbrahim 你确定你的图书馆设置正确吗?如果您正确启用库演化,它应该可以解决您的问题。 是的,我正在使用聚合目标,它是否,我将其更改为是。 我在聚合目标和主目标中更改了它,现在我加载模块“失败”以上是关于开发兼容 Swift 的 iOS 框架的主要内容,如果未能解决你的问题,请参考以下文章