简单明了的记录一下打包静态库.a的步骤
1.编译出.a文件: 分别在真机和模拟器的Debug或者Release环境下编译,得到拿到对应的libAppEngine文件
2.在Products目录下得到.a文件(就是项目最下面Products/libAppEngine.a),右键选择show in finder
3.在finder里面,可以看到编译的Release-iphoneos和Release-iphonesimulator两个文件夹,把他们拷贝到你的桌面(只是为了使用命令行操作方便)
4.在终端,cd 到你的桌面,然后lipo -create Release-iphoneos/libAppEngine.a ./Release-iphonesimulator/libAppEngine.a -output libAppEngine.a,得到一个新的 libAppEngine.a 文件就是你需要的静态库文件。
注意: 第四步是为了模拟器和真机都可以使用,如果不需要模拟器的话可以忽略这步,直接使用第三步Release-iphoneos文件夹下的 libAppEngine.a文件就好了。
====================xcode13 问题====================
最近发现用xcode13打包会出现一个问题,记录一下
报错:have the same architectures (arm64) and can't be in the same fat output file
这个问题出现的原因是Xcode 12以后模拟器编译生成的framework中也会包含arm64,导致出现真机库和模拟器库不能合并的问题。
XCode12之前:
编译模拟器静态库支持i386 x86_64两架构
编译真机静态库支持armv7 arm64两架构