通用靜態庫的生成(模擬器和真機通用)

如果我們打包靜態庫肯定會有這樣的需求:就是你打包一個庫既能在真機上使用,也可以在模擬器上使用,怎麼來打包生成一個通用的靜態庫呢?

其實也不難,首先,你得先通過真機打包生成真機可以用的靜態庫(這個庫可以在真機上使用,但在模擬器上運行的時候就會報錯),接着,需要通過模擬器生成一個靜態庫(這個庫是可以在模擬器上運行,但是在真機上運行就會報錯),兩個庫生成完成之後,就是今天我們需要做的事了。

lipo -create YAO/iOS/iphoneos/libZib.a YAO/iOS/iphonesimulator/libZib.a  -output YAO/iOS/libZib.a

其中YAO/iOS/iphoneos/libZib.a //爲真機庫。 (iphoneOS意思爲真機) 

 YAO/iOS/iphonesimulator/libZib.a //爲模擬器庫 (iphoneSimulator爲模擬器)
 -output YAO/iOS/libZib.a //爲兩個合併後存放的路徑(這個就是生成的通用庫,名字爲libZib.a).

然後可以輸入命令測試下是否成功  

lipo -info YAO/iOS/libZib.a  //下面是輸出 armv7 i386 有了兩個就表情模擬器和真機都支持  其中armv7爲真機架構 i386爲模擬器
Architectures in the fat file: YAO/iOS/libZib.a are: armv7 i386

其實那兩個路徑應該怎麼找呢?我們可以打開命令窗口,然後把模擬器庫拖到這個黑窗口中就會生成路徑,同理生成真機庫的路徑即可。(小技巧分享)

如果你沒打過庫,可以看我這篇博客,是一個打包庫圖文教程,怎麼打庫?打庫注意事項的鏈接博客

發佈了188 篇原創文章 · 獲贊 109 · 訪問量 32萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章