如何创建包含 Swift 和 ObjC 代码的 Touch Framework 或 Static Lib,并为 iOS7



我想创建一个单独的库,其中大部分包含 Objective-C 代码,但也有一些 Swift 文件。我尝试使用 Xcode 6 的 Touch Framework,如果我的部署目标是最终产品中的>= iOS8.0,它就可以正常工作。

但是我需要为 IOS7 构建,但它失败了,并解释说 iOS7 不支持链接/加载 dylib。

之后,我创建了静态库目标,但问题是它不支持 swift 文件(swift 模块)。

任何想法如何使它适用于iOS7?

经过几天的尝试,我找到了以下解决方案,尽管苹果说静态库不支持 Swift。

如果我尝试使用从 Xcode 构建的 swift 文件构建静态库失败,解释"libtool"不知道 -Xlinker 参数(未知选项字符"X"在:-Xlinker)。该参数尝试指定 Swift 模块 - 正如 Apple 所说,静态库不支持该模块。

我所做的是将整个libtool命令(Xcode尝试使用)复制/粘贴到终端,删除所有"-XLinker......"参数和令人惊讶的构建从命令行成功。

我的静态库项目包括 Objective-C 和 Swift 源代码,它们都被"打包"到生成的静态库中!

唯一的缺点是没有生产 Swift 模块,但就我而言,这并不重要,因为 Swift 仅在内部使用 - 我只有 Objective C 外部接口。

我认为也可以通过沿生成的静态库

复制生成的静态库桥接标头来公开 Swift 的"接口"。

最新更新