xcode8 Framework制作

啥都不說直入主題
1.打開xcode創建framework項目


圖1.png

2.將你的源碼文件放進工程


圖2.png

3.將你要公開的頭文件寫在這里
圖3.png

并且在build phases里把這些頭文件從project移動到public
圖4.png

4.選擇工程文件>target第一項>Build Setting>搜索linking,然后幾個需要設置的選項都顯現出來,首先是Dead Code Stripping設置為NO,網上對此項的解釋如下,大致意思是如果開啟此項就會對代碼中的”dead”、”unreachable”的代碼過濾,不過這個開關是否關閉,似乎沒有多大影響,不過為了完整還原framework中的代碼,將此項關閉也未曾不可。然后將Link With Standard Libraries關閉,我想可能是為了避免重復鏈接。最后將Mach-O Type設為Static Library,framework可以是動態庫也可以是靜態庫,對于系統的framework是動態庫,而用戶制作的framework只能是靜態庫。還有一個我踩的坑,要設置defines module為NO,不然集成的時候會出現Include of non-modular header inside framework module錯誤。設置bitcode為NO。


圖5.png

圖6.png

圖7.png

這里的默認就好了。
圖8.png

5.如果要用到cocoapods第三方庫,則直接跟正常項目一樣添加cocoapods就行了
圖9.png

6.添加bundles圖片,則直接新建文件夾,然后改后綴名為.bundle然后把圖片拖進去就行了。
用圖片的時候這樣用
圖10.png

7.分別選擇模擬器和真機command+B最終生成模擬器的framework和真機的framework,然后我們將他們合并:

打開終端,lipo -create 模擬器framework里面的二進制文件路徑 真機framework里面的二進制路徑 -output 輸出合并后的二進制路徑/二進制文件名稱(注意是合并framework里面的二進制文件而不是framework)最后把輸出合并后的二進制文件復制替換到模擬器framework里面的二進制文件和真機framework里面的二進制文件。


圖10.png

8.將替換合并后的模擬器framework或者真機framework直接拖到項目工程中,然后再把存放圖片的bundle也拖到項目工程中。直接使用就行了。

參考資料:
Xcode 創建.a和framework靜態庫
ios開發:Xcode8制作framework及使用
iOS8 Framework使用加載xib及圖片
【iOS 開發】打包 Framework 時使用 CocoaPods 引入第三方庫的方法

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容