MacOS下通過靜態庫方式引入gPRC功能

無論是通過gPRC的官網,還是github上對於gPRC的庫文件引用,都是通過cocoapods的方式將它引入到自己的工程中,然後編譯使用。但是會帶來如下多個問題

(1)如果我們是多人協作開發,當把代碼提到SVN上的時候,別人check下來你的代碼,還需要重新編譯一次gRPC的各種lib庫,這個編譯過程特別的耗時。

(2)在manage scheme裏面可以看到兩個scheme相同的名稱,如下圖,嘗試改了這個名字,但是無法提交到SVN上面別人check到你的代碼,還是有問題

基於如上問題,所以想到是通過靜態庫的方式引入gRPC的庫文件。主要修改方式如下:

(1)在當前工程的目錄下新建一個lib目錄,然後通過之前的build方式生成的所有release下的文件都放到這個目錄下,如下圖所示。然後並把這些.a文件重新添加引用添加到我們的工程中。

(2)在.xcworkspace工程裏刪除Pods的引用,但是這個工程還是要在的,因爲我們需要使用到他的header文件,這塊也可以摘出來它所有的header文件,但是這塊工作量比較大,所以選擇保留該工程的形式。

(3)找到debug和Release兩種環境下的.xcconfig文件,把其中的LIBRARY_SEARCH_PATHS給刪除掉或者屏蔽掉,也行;這個的目的是爲了搜索靜態庫的時候,不去Pods工程中去查找,避免重新編譯

(4)修改工程Targets裏面的build Settings裏面的Search Paths中的Library Search Paths,添加如下的項目:$(PROJECT_DIR)/lib/Release/gRPC_Libs

(5)另外Build Phases 裏面的Copy Pods Resources裏面其實也不需要可以刪除

自此修改完成!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章