在實際的項目開發中,我們會碰到某些靜態庫只能在真機或者模擬器中的一個上可以運行。為了讓靜態庫在模擬器和真機都可以正常的運行,就涉及到如何把一個工程生成的靜態庫打包以後生成的framework進行合併。下麵簡單介紹下合併的過程。 首先,說一下靜態庫的打包 在Xcode頂部,選中工程,點擊列表中的Edi ...
在實際的項目開發中,我們會碰到某些靜態庫只能在真機或者模擬器中的一個上可以運行。為了讓靜態庫在模擬器和真機都可以正常的運行,就涉及到如何把一個工程生成的靜態庫打包以後生成的framework進行合併。下麵簡單介紹下合併的過程。
首先,說一下靜態庫的打包
在Xcode頂部,選中工程,點擊列表中的Edit Scheme 如下
打開後,選擇Run->Info 將Debug模式改成Release模式,然後Close
回到工程,我們分別使用模擬器和真機編譯項目,然後來到工程的Products文件 如下所示
點擊後,我們會看到如下的文件
該文件夾中分別是真機和模擬器生成的。我們需要的是下麵這兩個文件
接著,我們打開終端:
輸入lipo -info 加真機和模擬器的文件路徑 回車,如果看到armv7 arm64說明是真機,i386 x86_64說明是模擬器
重點:合併
lipo -create 真機路徑 模擬器路徑 -output 真機路徑
因為我這邊是合併到真機的路徑上,所以合併完成後我們可以按上面的方式進行測試,拖入真機的路徑,需要得到的是armv7 i386 x86_64 arm64
這個就代表合併成功了(當然你也可以輸出到模擬器路徑或者其他路徑)
接下來就是把output的路徑中以.framework結尾的文件添加到需要的工程中就可以使用了。
好了,上面就是合併framework相關的內容,如有不對的地方,歡迎各位指正,