Xcode 生成swift framework 动态库,
用lipo create命令合并了phone和simulator后(只合并了framework里面的“可执行文件”),导入到测试项目中,发现真机下可以编译运行,但模拟器无法编译,错误为:
Error:Use of undeclared type 'xxx'
问题原因:framework目录中有个{PROJECT}.swiftmodule目录,里面包含了真机或模拟器的module定义文件。
例如,模拟器framework swiftmodule中是:
i386.swiftdoc x86_64.swiftdoc
i386.swiftmodule x86_64.swiftmodule
测试项目需要这些文件查找函数定义。我lipo create没用合并这个些文件,直接拷贝过来就ok
测试项目导入framewrok后还要在TARGTE/General 中的Embeded Binaries中点击+号,把framework添加进来。