在我的iOS项目中嵌入了一个自己写的静态库工程,之前在模拟器上运行都是正常,静态库的名字是:HyCommon,在我的App工程中有:
import HyCommon
今天打算切换到真机上运行,编译时提示:无法找到静态库HyCommon.(之前也在真机上调试运行过,都是正常的).
检查项目的确生成了libHyCommon.a文件,而且路径也没错;将其删除后重新创建也不行!
打开AppName/Build/Products/Debug-iphoneos/HyCommon.swiftmodule目录,发现其中有2个文件:
arm64.swiftdoc arm64.swiftmodule
将其全部删除后,再次重建静态库,发现libHyCommon.a可以生成,但上述目录中少了 arm64.swiftmodule文件!
新建一个项目,同样嵌入HyCommon工程;同样在真机上编译,是OK的,到其对应的HyCommon.swiftmodule目录中将缺少的文件拷贝到失败项目的同名文件中,再次编译,成功了!
看来Xcode在编译链接时除了.a文件以外还需要对应的.swiftmodule文件.
记录之,备查!