前言:
之前項目一直使用RGPC,ProtocolBuffer在安裝grpc的時候自動安裝了。最近一個IM項目不用grpc,但是數(shù)據(jù)格式仍使用ProtocolBuffer,ProtocolBuffer文件編寫蝇恶,數(shù)據(jù)格式等這里就不說了,網(wǎng)上一搜一大把宫蛆。這里就說說在項目集成使用過程中遇到一些坑艘包,記錄于下:
一.ProtocolBuffer環(huán)境安裝,
按順序在終端中執(zhí)行
- /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
- brew install automake
- brew install libtool
- brew install protobuf
安裝完成后耀盗,在usr/local/lib 下可以看到
二.項目集成
1.通過cocoapods
OC項目:
pod 'ProtocolBuffers'
Swift項目:
use_frameworks!
pod 'ProtocolBuffers-Swift'
我這里用的OC想虎,但是導(dǎo)入后運行時一直報錯,提示ProtocolBuffer下面這個GPBProtocolBuffers_RuntimeSupport.h庫文件找不到叛拷。查找了一下舌厨,pod導(dǎo)入的庫中確實沒有。
上github看了一下忿薇,ProtocolBuffers庫這個已經(jīng)一年多沒更新了裙椭,好吧躏哩,只能手動導(dǎo)入了。(swift版的倒是持續(xù)更新著)
2.手動導(dǎo)入
1.下載:ProtocolBuffers下載地址
2.拷貝到項目文件夾下:
下載后解壓揉燃,里面有不同語言的庫扫尺,objectivec下是OC的全部PB源碼。在項目中創(chuàng)建文件夾ProtocolBuffer炊汤,將objectivec下是OC的全部PB源碼全部粘貼過去正驻。
這里要注意只需要加入項目文件夾即可,不需要將ProtocolBuffer目錄加入項目引用抢腐。(全部引用到項目可能會報錯姑曙,因為里面有osx項目)
3.加入項目引用:
打開項目,在隨意文件夾下迈倍,點擊左下角加號按鈕伤靠,add file to project
在上一步拷貝到項目中的ProtocolBuffer文件夾下找到ProtocolBuffers_iOS.xcodeproj,點擊添加即可
添加完成后項目中如下
PB源文件里面的ProtocolBuffers_OSX.xcodeproj是macOS用的啼染,這里不用管宴合。
3.添加項目配置
- 在工程target->Build Settings-> Rez Search Path 設(shè)置$(PROJECT)/ProtocolBuffer
- 在工程target->Build Settings-> Header Search Path 設(shè)置$(PROJECT)/ProtocolBuffer
- 選中工程: targets —> Build Phases —> Link Binary With Libraries, 引用源碼靜態(tài)庫文件:libProtocolBuffers.a
- 導(dǎo)入項目的proto文件如果報ARC錯誤迹鹅,在工程target->Build Phrases->Compile Sources->給Person.pbobjc.m設(shè)置-fno-objc-arc形纺,因為ProtocolBuffer還不支持ARC
注意:這里的路徑是拷貝到項目文件夾中的ProtocolBuffer目錄路徑,并不是引入項目中ProtocolBuffers_OSX.xcodeproj的路徑
至此徒欣,坑算是填完了。
附上參考:
https://blog.csdn.net/lovehalok/article/details/77852186
https://blog.csdn.net/lovehalok/article/details/77852186