1.通過Xcode創(chuàng)建一個(gè)Cocoa Touch Framework 工程!

2A3596BE-D289-4DA3-8828-7FB45763DD28.png
2.修改項(xiàng)目中編譯設(shè)置項(xiàng)
1.TARGETS->General Display Name 設(shè)置名字
2.TARGETS->Version 設(shè)置版本號(hào)
3.TARGETS->Deployment Target 設(shè)置支持最低的iOS版本
4.TARGETS->Build Setting->Dead Code Stripping 設(shè)置為NO
5.TARGETS->Build Setting->Link With Standard Libraries 設(shè)置為NO
6.TARGETS->Build Setting->Mach-O Type 設(shè)置為 Static Library
7.TARGETS->Build Setting->Architectures 中添加 armv7s

306FC6A9-B447-4155-B4B5-DF4E58A1E515.png

030C501C-95FD-4F76-A7FF-FD17A05571C6.png
3.在工程中添加文件

1BC01C5A-09B8-40A6-B99F-274460BA9AEB.png
4 設(shè)置提供外部調(diào)用的頭文件
(直接將想公開的頭文件 從project 拖到 pubic)

D0D2896F-53F2-4AE6-B209-F4E77D298B09.png
5.填寫需要公開的文件

5F90E258-DCF1-47C7-83D1-05D96C47B315.png
6.使用模擬器和手機(jī)分別連接運(yùn)行一次 然后將生產(chǎn)的兩個(gè)版本的framework合成一個(gè)!
http://www.itdecent.cn/p/583ca50ee5b3!
-ObjC:加了這個(gè)參數(shù)后,鏈接器就會(huì)把靜態(tài)庫中所有類和分類都加載到最后的可執(zhí)行文件中
-all_load:會(huì)讓鏈接器把所有找到的目標(biāo)文件都加載到可執(zhí)行文件中,但是在使用這個(gè)參數(shù)時(shí)假如使用了不止一個(gè)靜態(tài)庫文件,很有可能會(huì)遇到ld: duplicate symbol錯(cuò)誤,因?yàn)椴煌膸煳募锩婵赡軙?huì)有相同的目標(biāo)文件,建議在遇到-ObjC失效的情況下使用-force_load參數(shù)。
-force_load:所做的事情跟-all_load其實(shí)是一樣的,但是-force_load需要指定要進(jìn)行全部加載的庫文件的路徑,這樣的話,你就只是完全加載了一個(gè)庫文件,不影響其余庫文件的按需加載