外部引用
在制作framework時,如果framework中使用了其他的第三方framework或者靜態(tài).a的庫章办。為了防止和集成方的項目工程中使用了同一個第三方庫”醭梗可以使用外部引用的方式,集成方必須同時導入所需要的第三方庫以及我們制作的framework庫亭饵,最終解決共用同一個第三方庫引起的項目沖突問題辜羊。
制作步驟:
1.在xcode工程中選擇BuildSettings,搜索Mach-O Type八秃,選擇Static Library 靜態(tài)鏈接的打包形式昔驱,如下圖(外部引用步驟1):
2.將指定的第三方framework庫或者靜態(tài).a庫文件拖入項目工程指定路徑下。如下圖:
注意:拖入時Add to targets選項中的勾選項取消
3.在xcode工程中選擇BuildSettings航棱,搜索Search Paths,如果第二步拖入的是動態(tài)framework它抱,在Framework Search Paths下添加該framework所在的工程路徑朴艰;如果是.a靜態(tài)庫,在Library Search Paths下添加該庫的工程路徑侮穿,如圖:
4.添加framework所需的系統(tǒng)依賴庫
5.選擇自己的framework庫對應target毁嗦,檢查Build Phases --> Link Binary With Libraries 中是否動態(tài)鏈接所需要的系統(tǒng)依賴庫以及第三方庫,如圖:
6.以上操作均沒問題克锣,選擇自己的framework工程target腔长,編譯成功,在products文件夾下會生成一個自己的framework巾乳。
7.將編譯生成的framework以及framework所需的第三方庫手動拖入的項目工程胆绊。在項目工程中同樣導入指定的必要的系統(tǒng)庫欧募,檢查鏈接。編譯運行槽片。如圖:
內部引用
在制作framework時还栓,如果framework中使用了其他的第三方framework或者靜態(tài).a的庫传轰。并且集成方不考慮framework中包含的第三方庫沖突問題,集成方可以直接導入我們制作的framework庫慨蛙。
制作步驟:
1.在xcode工程中選擇BuildSettings,搜索Mach-O Type跟匆,選擇Dynamic Library 靜態(tài)鏈接的打包形式,如下圖:
2.動態(tài)鏈接在framework中使用的第三方庫烤蜕,如圖
-
如果第三方庫是.a靜態(tài)庫迹冤,需要將.a靜態(tài)庫手動拖入到自己的framework工程中,并且在Add to targets勾選指定的target
內部引用2.png -
如果第三方庫是framework動態(tài)庫橱鹏,直接在Build Phases --> Link Binary With Libraries中鏈接本地的framework動態(tài)庫的位置
內部引用3.png
3.檢查BuildSettings --> Search Paths下莉兰,F(xiàn)ramework Search Paths和Library Search Paths的路徑庶橱,如圖:
內部引用4.png
4.選擇自己的framework工程target苏章,編譯成功,在products文件夾下會生成一個自己的framework枫绅。
5.直接將自己編譯成功的framework文件導入到集成項目工程并淋。
6.在工程中選擇General --> Frameworks,Libraries,and Embedded Content中找到自己制作的framework動態(tài)庫,選擇Embed & Sign句喷。最后編譯運行項目兔毙。