我想创建一个单独的库,其中包含大部分Objective-C代码,但也包含一些Swift文件。我尝试使用Xcode6的Touch Framework,如果我的部署目标是最终产品中的>= iOS8.0,它工作得很好。
但是我需要为iOS7构建,它失败了,并解释说IOS7不支持链接/加载dylib。
之后,我创建了静态库目标,但问题是它不支持swift文件(swift模块)。
有什么想法可以让这在iOS7上工作吗?
发布于 2015-02-05 21:25:07
经过几天的尝试,我找到了以下解决方案,尽管苹果声称静态库不支持Swift。
如果我尝试用swift文件构建静态库,从Xcode构建失败,说明'libtool‘不知道-Xlinker参数(在:-Xlinker中未知的选项字符’X‘)。该参数尝试指定Swift模块-正如Apple所说,静态库不支持该模块。
我所做的是将整个libtool命令( Xcode试图使用的)复制/粘贴到终端,删除所有的'-XLinker ...‘。参数和令人惊讶的构建从命令行成功。
我的静态库项目包括Objective-C和Swift源代码,它们都被‘打包’到生产的静态库中!
唯一的缺点是没有生成Swift模块,但在我的例子中这并不重要,因为Swift只在内部使用-我只有Objective C外部接口。
我认为也可以通过复制生成的静态lib桥头来暴露Swift的“接口”。
https://stackoverflow.com/questions/27960675
复制相似问题