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