在制作ios的静态库时,在模拟器运行生成的静态库只能在模拟器上运行,如果想要制作成模拟器和真机都能同时兼容的静态库,我们得通过命令去合并模拟器和真机生成的静态库。
如下图所以
只能支持模拟器的静态库在真机上面运行会报undefined symbols for architecture arm64的错误。
-
Debug-iphoneos 文件夹里面的东西是用在真机上的
-
Debug-iphonesimulator 文件夹里面的东西是用在模拟器上的
.a 文件的体积(一般情况下)
-
真机用的 .a > 模拟器用的 .a
-
所合成 .a == 真机用的 .a + 模拟器用的 .a
解决办法:
打开终端 ,在终端上输入 lipo -create /Users/hicard/Library/Developer/Xcode/DerivedData/***/Release-iphoneos/libHKEncryptLib.a /Users/hicard/Library/Developer/Xcode/DerivedData/***/Release-iphonesimulator/libHKEncryptLib.a -output /Users/hicard/Library/Developer/Xcode/DerivedData/***/Build/Products/libHKEncryptLib.a