Lipo編譯 合并iPhone模擬器和真機(jī)通用靜態(tài)類庫(kù)
Lipo編譯 合并iPhone模擬器和真機(jī)通用靜態(tài)類庫(kù)是本文要介紹的內(nèi)容,在ios制作靜態(tài)類庫(kù)中介紹怎么創(chuàng)建靜態(tài)鏈接庫(kù),現(xiàn)在問題是, 我們編譯好了會(huì)是兩個(gè)版本的.a文件 分別用于模擬器和iPhone真機(jī), 因?yàn)镸ac和iPhone的CPU不同, 才造成了這樣的情況. 有點(diǎn)像 PowerMac 和 InterMac。
在使用靜態(tài)類庫(kù)的時(shí)候, 我們?nèi)绻朐?strong>模擬器調(diào)試, 就必須把用于模擬器版本的lib加到項(xiàng)目里, 同理要想運(yùn)行在iPhone上, 我們又必須把真機(jī)lib也加到項(xiàng)目, 這樣確保兩個(gè)平臺(tái)都能運(yùn)行, 但問題是我們總有一個(gè)類庫(kù)是不需要了, 在Snow Leopard的Xcode 3.2中編譯的時(shí)候會(huì)出現(xiàn)一個(gè)警告: 沒必要加上***.a. Xcode 3.1 也偶爾出現(xiàn), 沒有總結(jié)出規(guī)律來.
OK, 我們來解決這個(gè)問題!
假設(shè)兩個(gè)版本的lib分別是 libIMIUI.s.a , libIMIUI.d.a 我們的目標(biāo)是 把他們合并成無敵超級(jí)通用版的libIMIUI.a
打開命令行 Terminal.app 輸入:
- lipo -create
然后依次把兩個(gè).a文件拖到終端窗口, 命令行會(huì)變成這樣:
- lipo -create /Users/Travis/Desktop/libIMIUI.d.a /Users/Travis/Desktop/libIMIUI.s.a
然后接著輸入 -output 目標(biāo)文件路徑,如:
- -output /Users/Travis/Desktop/libIMIUI.a
***現(xiàn)在這樣一條命令:
- lipo -create /Users/Travis/Desktop/libIMIUI.d.a /Users/Travis/Desktop/libIMIUI.s.a -output /Users/Travis/Desktop/libIMIUI.a
回車! 好了, 這樣就會(huì)生成我們需要的通用類庫(kù) libIMIUI.a
小結(jié):Lipo編譯 合并iPhone模擬器和真機(jī)通用靜態(tài)類庫(kù)的內(nèi)容介紹完了,希望本文對(duì)你有所幫助。