簡介:
Protobuf是一種數(shù)據(jù)交換格式橙依,可以用于諸如網(wǎng)絡(luò)傳輸喘漏、配置文件描验、數(shù)據(jù)存儲等。我是在項目中socket通訊用到的Protobuf捶箱。使用Protobuf大致分三步:
1.集成protoc工具
2.根據(jù)自己的需求創(chuàng)建proto文件并轉(zhuǎn)換
3.向自己的項目集成protocbuf
一智什、集成protoc環(huán)境
1.下載protoc項目
2.生成protoc編譯器
cd到下載目錄,終端依次執(zhí)行以下命令
./autogen.sh
./configure
make
sudo make install
objectivec/DevTools/full_mac_build.sh
成功后在src文件夾下會有個protoc文件
屏幕快照 2018-02-28 下午5.08.30.png
二丁屎、使用protoc轉(zhuǎn)換文件
1.根據(jù)需求新建后綴為proto的文件,例: auth.proto
屏幕快照 2018-02-28 下午5.13.41.png
2.轉(zhuǎn)換
protoc --proto_path=路徑1--objc_out=路徑2 XXXX.proto
路徑1 : 創(chuàng)建的proto文件所在目錄
路徑2 : 轉(zhuǎn)換后的文件輸出路徑
XXXX.proto : 創(chuàng)建的proto文件名稱
例:
在桌面創(chuàng)建放proto文件的文件夾 "MySrc", 在 "MySrc" 里創(chuàng)建proto文件auth.proto, 在桌面創(chuàng)建放轉(zhuǎn)換后的文件的文件夾 "MyGen", 則在終端
先cd 到桌面
protoc --proto_path=MySrc --objc_out=MyGen MySrc/auth.proto
執(zhí)行命令后會發(fā)現(xiàn)在 "MyGen" 文件夾中出現(xiàn) Auth.pbobjc.h / Auth.pbobjc.m, 這兩個就是我們項目中需要的文件荠锭。
三.向項目集成protobuf
1.下載Demo
2.將demo里的objectivec文件夾復(fù)制到自己的項目(文件路徑:GPBTest/PB/objectivec)
3.向項目加入ProtocolBuffers_iOS.xcodeproj子項目
點擊xCode左下角加號,
屏幕快照 2018-02-28 下午5.42.57.png
選擇剛才復(fù)制的objectivec文件夾里的ProtocolBuffers_iOS.xcodeproj
屏幕快照 2018-02-28 下午5.45.15.png
4.配置路徑
屏幕快照 2018-02-28 下午5.46.50.png
5.將生成的轉(zhuǎn)換文件拖進項目(例:Auth.pbobjc.h/Auth.pbobjc.m)并更改Compiler Flags為 -fno-objc-arc
image.png