簡單明了的記錄一下打包靜態(tài)庫.a的步驟
1.編譯出.a文件: 分別在真機(jī)和模擬器的Debug或者Release環(huán)境下編譯,得到拿到對(duì)應(yīng)的libAppEngine文件

2020-01-03 下午4.34.12.png
2.在Products目錄下得到.a文件(就是項(xiàng)目最下面Products/libAppEngine.a),右鍵選擇show in finder

2020-01-03 下午4.43.37.png
3.在finder里面,可以看到編譯的Release-iphoneos和Release-iphonesimulator兩個(gè)文件夾,把他們拷貝到你的桌面(只是為了使用命令行操作方便)

2020-01-03 下午4.53.57.png
4.在終端,cd 到你的桌面,然后lipo -create Release-iphoneos/libAppEngine.a ./Release-iphonesimulator/libAppEngine.a -output libAppEngine.a,得到一個(gè)新的 libAppEngine.a 文件就是你需要的靜態(tài)庫文件。
注意: 第四步是為了模擬器和真機(jī)都可以使用,如果不需要模擬器的話可以忽略這步,直接使用第三步Release-iphoneos文件夾下的 libAppEngine.a文件就好了。
====================xcode13 問題====================
最近發(fā)現(xiàn)用xcode13打包會(huì)出現(xiàn)一個(gè)問題,記錄一下

2021-11-16 下午4.28.50.png
報(bào)錯(cuò):have the same architectures (arm64) and can't be in the same fat output file
這個(gè)問題出現(xiàn)的原因是Xcode 12以后模擬器編譯生成的framework中也會(huì)包含arm64,導(dǎo)致出現(xiàn)真機(jī)庫和模擬器庫不能合并的問題。
XCode12之前:
編譯模擬器靜態(tài)庫支持i386 x86_64兩架構(gòu)
編譯真機(jī)靜態(tài)庫支持armv7 arm64兩架構(gòu)
使用在編譯模擬器的時(shí)候加上arm64就好了,注意:編譯真機(jī)的時(shí)候要?jiǎng)h除arm64,否則把合并完之后的.a文件加到項(xiàng)目里會(huì)報(bào)錯(cuò)

2021-11-16 下午4.32.13.png