iOS 打包靜態(tài)庫

簡單明了的記錄一下打包靜態(tài)庫.a的步驟

1.編譯出.a文件: 分別在真機和模擬器的Debug或者Release環(huán)境下編譯,得到拿到對應的libAppEngine文件
2020-01-03 下午4.34.12.png
2.在Products目錄下得到.a文件(就是項目最下面Products/libAppEngine.a),右鍵選擇show in finder
2020-01-03 下午4.43.37.png
3.在finder里面,可以看到編譯的Release-iphoneos和Release-iphonesimulator兩個文件夾,把他們拷貝到你的桌面(只是為了使用命令行操作方便)
2020-01-03 下午4.53.57.png
4.在終端,cd 到你的桌面,然后lipo -create Release-iphoneos/libAppEngine.a ./Release-iphonesimulator/libAppEngine.a -output libAppEngine.a,得到一個新的 libAppEngine.a 文件就是你需要的靜態(tài)庫文件。

注意: 第四步是為了模擬器和真機都可以使用,如果不需要模擬器的話可以忽略這步,直接使用第三步Release-iphoneos文件夾下的 libAppEngine.a文件就好了。

====================xcode13 問題====================

最近發(fā)現(xiàn)用xcode13打包會出現(xiàn)一個問題,記錄一下
2021-11-16 下午4.28.50.png

報錯:have the same architectures (arm64) and can't be in the same fat output file

這個問題出現(xiàn)的原因是Xcode 12以后模擬器編譯生成的framework中也會包含arm64,導致出現(xiàn)真機庫和模擬器庫不能合并的問題。

XCode12之前:
編譯模擬器靜態(tài)庫支持i386 x86_64兩架構(gòu)
編譯真機靜態(tài)庫支持armv7 arm64兩架構(gòu)

使用在編譯模擬器的時候加上arm64就好了,注意:編譯真機的時候要刪除arm64,否則把合并完之后的.a文件加到項目里會報錯
2021-11-16 下午4.32.13.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容