1. 程式人生 > >iOS 製作自己的FrameWork遇到的一些問題 以及FrameWork通過包合併支援arm64 armv7 i386 架構

iOS 製作自己的FrameWork遇到的一些問題 以及FrameWork通過包合併支援arm64 armv7 i386 架構

前段時間工作上需要建立一個FrameWork,由於是第一次嘗試,所以遇到了一些問題,所以想列舉出來供大家參考。

首先編譯出來的FrameWork你需要檢視它對cpu架構的支援:如下

1.開啟終端,進入到你的FrameWork,cd xxxx/xxx.framework

2.檢視架構支援,lipo -info xxxx/xxx.framework/xxx (注意:xxx是你的FrameWork名稱)

3.如果以上兩步都成功,你將會看到。。。is architecture:arm64 armv7 等等。

由於我之前工程的一些特殊性,所以沒有辦法一次性編譯出可以支援 arm64 armv7 i386 架構的FrameWork

所以就涉及到了將FrameWork合併的問題:如下

1.lipo -create /Users/xxxxxxx/Desktop/armv7/xxx.framework/xxx  /Users/xxxxxxx/Desktop/arm64/xxx.framework/xxx  -output /Users/xxxxxxx/Desktop/arm64andarmv7/xxx。chang這步操作就是將一個支援armv7的FrameWork 和 一個支援arm64的FrameWork 合併成了同時支援arm64、armv7的FrameWork。

2.注意,第一步的操作還木有結束,合包(Framework是合併裡面的exec檔案,然後將exec

檔案隨意替換到之前的任意一個FrameWork),也就是說你需要將你在第一步合併出來的exec檔案替換到之前任意的一個FrameWork中的exec,一般來說exec檔案的名字就是你的FrameWork的名字。


以上,都是我自己操作過並且可以成功使用的,可能描述的不是特別明白,下面是我為大家列舉的iOS裝置的cpu架構指令集

裝置的CPU架構(指令集) 模擬器: 4s-5: i386 5s-6s Plus: x86_64 真機(iOS裝置): armv6: iPhone、iPhone 2、iPhone 3G、iPod Touch(第一代)、iPod Touch(第二代) armv7: iPhone 3Gs、iPhone 4、iPhone 4s、iPad、iPad 2
armv7s: iPhone 5、iPhone 5c  arm64: iPhone 5s、iPhone 6、iPhone 6 Plus、iPhone 6s、iPhone 6s Plus、iPad Air、iPad Air2、iPad mini2、iPad mini3