SDK系列-iOS FrameWork制作概述
SDK系列-FrameWork的制作(1)
SDK系列-FrameWork的制作(2)
FrameWork的制作(1)
建議閱讀:創建.a和.framework靜態庫,以及Bundle資源文件的使用
網上有很多相關SDK的制作,但大部分都是基礎的制作,以及知識點相對比較散;本SDK系列將對SDK制作從基礎到應用講述,主要針對開發過程中遇到的問題進行一個總結。
1.將需要添加暴露的.h放到Public里;
將需要的.h文件暴露到public里;
若暴露的文件的.h里引入了其他的.h文件,可以繼續暴露相關的接口,但不建議這
樣;而是采用在.h內使用@class引入類,在.m內再進行導入相關的類文件。

2.導入Framework庫文件
外界導入framework的時候,引入方式:
#import<WXFFrameWork/MRAlterView>
3.更改設置參數
a. Target - build Setting - Architecture 增加 armv7s 和 Valid
Architecture支持的框架
b.Target - Build Settings - Mach-O Type ,將 Mach-O Type 修改為 Static Library。
c.build Active Resource OnlyDebug下設置為YES,release 設置為NO;或者 全部設置為NO。(在系列概述有說明)
d.當framework內引入了第三方庫,則需要在工程內添加-ObjC
否則,會報錯第三方庫的方法沒有找到(unrecognized selector);
4.framework的合并(merge)
在真機上,模擬器上都cmd+b,然后在本地資源找到真機和模擬器的framework;再通過終端進行合并;還有一種方式,在此不做介紹。
lipo -create /User/...../release-iphoneos/xxx.framework/xxx
/User/...../release-iphonesimular/xxx.framework/xxx -output ./xxx
合并前:framework的位置:
命令:
合并后,將合并后的WXFFrameWork;再將WXFFrameWork.framework內的WXFFrameWork進行替換掉;再添加到工程內,就可以在真機和模擬器上跑;
在上線的時候,建議使用只支持真機的framework;減少內存的占用;
若framework(只支持真機運行)在模擬器上運行,則會報如下相關錯誤:
最后,將生成的framework添加到工程里就行了!建議集成驗證。