最近需要把一些 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 以后的)
1
junho OP 经过 Pod 以后 Demo 工程都添加了所有第三方的 Module Header Path 了,为啥 SDK 中的 swiftInterface 还会报找不到第三方的 module header....
|
2
shenfu1991 2020-06-06 14:59:05 +08:00 via iPhone
是在 oc 工程中使用吗?把第三方库也放进去
|
3
junho OP emm
这两天升级了 xcode 又要重新打包二进制。。。 |