前段時(shí)間工作上需要?jiǎng)?chuàng)建一個(gè)FrameWork,由于是第一次嘗試,所以遇到了一些問題,所以想列舉出來供大家參考。
首先編譯出來的FrameWork你需要查看它對(duì)cpu架構(gòu)的支持:如下
1.打開終端,進(jìn)入到你的FrameWork,cd xxxx/xxx.framework
2.查看架構(gòu)支持,lipo -info xxxx/xxx.framework/xxx (注意:xxx是你的FrameWork名稱)
3.如果以上兩步都成功,你將會(huì)看到。。。is architecture:arm64 armv7 等等。
由于我之前工程的一些特殊性,所以沒有辦法一次性編譯出可以支持 arm64 armv7 i386 架構(gòu)的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這步操作就是將一個(gè)支持armv7的FrameWork 和 一個(gè)支持arm64的FrameWork 合并成了同時(shí)支持arm64、armv7的FrameWork。
2.注意,第一步的操作還木有結(jié)束,合包(Framework是合并里面的exec文件,然后將exec文件隨意替換到之前的任意一個(gè)FrameWork中),也就是說你需要將你在第一步合并出來的exec文件替換到之前任意的一個(gè)FrameWork中的exec,一般來說exec文件的名字就是你的FrameWork的名字。
以上,都是我自己操作過并且可以成功使用的,可能描述的不是特別明白,下面是我為大家列舉的iOS設(shè)備的cpu架構(gòu)指令集
設(shè)備的CPU架構(gòu)(指令集)
模擬器:
4s-5: i386
5s-6s Plus: x86_64
真機(jī)(iOS設(shè)備):
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