一,下载protobuf;
https://github.com/google/protobuf或者https://github.com/google/protobuf/releases;
二,安装protoc命令;
1,在下载的文件第一级目录里找
autogen.sh和configure两个文件;如果没有的话,终端进入objectivec/DevTools文件夹,执行full_mac_build.sh;
生成configure和autogen.sh文件;
2,执行
sh autogen.sh;
sh configure;
make;
make install;
完成安装;
用protoc --version检查是否成功安装;
三,配置.proto文件,生成oc代码;
创建.proto文件,以google官方的person.proto为示范;
syntax="proto2";
message Person {
required string name = 1;
required int32 id = 2;
optional string email = 3;
enum PhoneType {
MOBILE = 0;
HOME = 1;
WORK = 2;
}
message PhoneNumber {
required string number = 1;
optional PhoneType type = 2 [default = HOME];
}
repeated PhoneNumber phone = 4;
}
在终端进入当前目录,输入
protoc --objc_out=./ ./person.proto, 编译生成相应的OC文件;
四,导入相关文件;
有以下两种方式引入;
1,代码引入;
1) 导入除了GPBProtocolBuffers.m所有的.h和.m文件,/google文件目录不变;
2) header search path里面添加头文件路径;
3) ARC工程的话所有protobuf文件添加-fno-objc-arc;
2,库文件引入;
1) 编译protocolBuffers工程生成.a文件;
2) 导入objectivec目录下的所有.h文件;
附:
附上一张.proto的基本数据类型对应各语言图: