关于 Swift 的静态 Framework 的兼容性问题

2020-06-05 13:43:36 +08:00
 junho

最近需要把一些 Swift 代码打包成静态 Framework 提供给别人用,然后这时候涉及到了 Swift 编译版本的问题,就是使用这个 Framework 的人的 swift 版本必须和我的版本一致。

然后查了下资料说下 Swift5.0 以后比较稳定,在编译 Framework 的时候选择 BUILD_LIBRARY_FOR_DISTRIBUTION 为 YES 就好。我尝试把这个参数设为 YES,结果就是编译的 Framework 里多了 xxx.swiftInterferface 的文件夹。

由于静态 Framework SDK 是依赖了一些开源的第三方,当我建立一个 Demo 工程并把编译好的 Framework 放进去并 pod 相关的第三方,当编译 demo 工程时会提示 SDK 中的 xxx.swiftInterferface 中"No Such Module 'XXX"。。。

所以想请教两个问题: 1.上面提到的"No Such Module"问题如何解决? 2.如何使得编译出来的静态 Framework 可以在不同版本的 Xcode 上跑( Swift5.0 以后的)

1745 次点击
所在节点    iOS
3 条回复
junho
2020-06-05 14:01:00 +08:00
经过 Pod 以后 Demo 工程都添加了所有第三方的 Module Header Path 了,为啥 SDK 中的 swiftInterface 还会报找不到第三方的 module header....
shenfu1991
2020-06-06 14:59:05 +08:00
是在 oc 工程中使用吗?把第三方库也放进去
junho
2020-09-24 19:18:34 +08:00
emm
这两天升级了 xcode 又要重新打包二进制。。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/678945

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX