合併FrameWork庫相容真機模擬器

weixin_33762321發表於2018-07-27

自己在生成靜態庫的時候需要讓靜態庫同時支援模擬器和真機,具體要怎麼操作呢?

1、Xcode   EditScheme 下選擇run,而後修改info 中Debug為Release ,然後分別在模擬器和真機下編譯

2、編譯完之後在xcode工程檔案中找到Product找到你的.framework,右鍵show in finder 找到如下圖的東西:

1938223-bd7422bd3a8fba25.png

然後可以使用 lipo -info Release-iphoneos/SDWebImage.framework/SDWebImage  檢視真機CPU架構

輸出如下結果:

/Users/Xxx/Library/Developer/Xcode/DerivedData/SDWebImage-dcmgbralgmfffufpkzirmvscmlhz/Build/Products/Release-iphoneos/SDWebImage.framework/SDWebImage are: armv7 arm64 

真機下看到armv7 arm64, 模擬器下看到的是i386 x86_64

接下來採用命令合併 lipo -create 真機檔案路徑( Release-iphoneos/SDWebImage.framework/SDWebImage)    模擬器檔案路徑(Release-iphonesimulator/SDWebImage.framework/SDWebImage)  -output  真機檔案路徑( Release-iphoneos/SDWebImage.framework/SDWebImage) 

這裡的輸出檔案的目錄在兩個目錄可以任選其一。

最後都合併完成,就得到同事支援模擬器和真機的庫,拖入專案中就可以使用了。

相關文章