環境:Xcode 7.2
無cocopod版
有cocopod版
無cocopods版
1.新建工程,選擇cocoa Touch Framework
2.設置支持版本和設備支持
3.將framework從動態庫變更為靜態庫
4.將自己的文件引入到工程中
5.在Framework生成的.h中#improt 入自己的.h
6.在Build Phases的Header中選擇要向外公開的.h(注:public-向外公開的,project:不公開的,private- 一般不用管)
7.設置CPU架構,No為不是當前特定的,通用;Yes-為當前特定的
一般選擇No通用
8.在edit schema中選擇要打測試還是發布版本
9.然后cmd+B編譯程序,此處分別選擇真機和模擬器編譯
(這里只打了發布版本)
10.檢查framework所支持的架構
在framework目錄下,執行終端命令
lipo -info <name> -> <name>為framework的名字
11.合并framework
lipo -create <name1>.framework/<name1> <name2>.framework/<name2> -output <name1/name2>.framework/<name3>
有cocopods版
1.正常建立一個工程,cocopod導入第三方,此處以SDWebImage為例
2.在此工程內新建target,選擇cocoa Touch Framework
設置時注意區分framework的target和工程項目本身的target
3.設置支持版本和設備(如上第二步)
4.將framework改為靜態庫(如上第三步)
5.在framework生成的.h引入自己的.h(如上第五步)
6.配置cocopod導入的第三方庫路徑
選取項目target,在build settings 中找到 Header Search Paths,賦值其中內容,只需賦值public一行即可,至framework的target相同位置
7.配置PODS_ROOT參數
在項目target,build Settings最下方有此參數,將此參數完整復制到framework的target相同位置(此處需自己新建)
8.在build Phases的header內添加向外公開的.h(如上第六步)
...余下步驟如上一樣,(注意:cmd+B編譯時,target要選擇framework的,而不是項目本身的target)
PS: 將生成的framework導入其它工程后,正常導入第三方即可使用 ,Other Linker flags:-ObjC 需要加上.
本人憊懶,只因期望對互聯網有所貢獻而不是單純的消費者才寫這些,核心關鍵步驟都在,若有不懂的地方可以百度或者評論提出,當然有指教的也請不吝賜教,我盡量回復。
看!灰機~灰機灰過去了~灰機又灰過來了~