图解iOS之ProtocolBuffer搭建和示例

2025-10-13 12:39:06

1、从github下载protocolBuffer对应版本编译器包,比如目前的对应的objc最新版本

2、解压包,假设解压后的文件夹名为: protobuf-objectivec-3.1.0, 打开终端,进入文件夹protobuf-objectivec-3.1.0, 依次执行以下命令:

./configuremakemake checksudo make install

如果编译顺利的话,便可以使用protoc命令了,以后便可以用这个命令将.proto文件转换为不同语言的源代码文件。

1、从github protobuf.git下载源码,解压,里面有支持不同语言的版本源码,

我们只需要里面的支持objc的文件夹名为:objectivec,如下图所示:

图解iOS之ProtocolBuffer搭建和示例

2、新建一个工程命名为Tan_ProtocolBuffer,创建一个文件夹,假设命名为:protocolbuf, 把第一步的pb源码复制到此文件夹中,如下图所示:

图解iOS之ProtocolBuffer搭建和示例

3、使用Xcode打开工程,点击左下角“+”, 引用protocolBuffer源文件到工程中,如下图所示:

图解iOS之ProtocolBuffer搭建和示例

图解iOS之ProtocolBuffer搭建和示例

4、选中工程: targets —>  Build Phases  —>  Link Binary With Libraries, 引用源码静态库文件:libProtocolBuffers.a,如下图所示:

图解iOS之ProtocolBuffer搭建和示例

5、在工程设置搜索静态库的头文件(pb文件在protocolbuf文件夹里面):

targets —>  Build Setting  —>  Search Paths  —> Header Search Paths, 写入:$(PROJECT)/protocolbuf ,如下图所示:

图解iOS之ProtocolBuffer搭建和示例

6、编写测试文件*.proto,比如新建一个文件Person.proto, 按照官方标准语法https://developers.google.com/protocol-buffers/ 编写通用代码,  写好后在终端进入该Person.proto文件所在目录,使用protoc命令:protoc *.proto --objc_out=../Pro_out 进行编译。  把Person.proto文件编译成Person.pbobjc.h和Person.pbobjc.m, 生成的文件在Pro_out文件夹里面。  如果Person.proto源文件有语法问题,编译时会报错;当编译时什么提示都没有,表示编译成功:  将编译好的*.pbobjc.h和*.pbobjc.m拖入工程中,因为不支持arc, 所以需要在*.pbobjc.m设置-fno-objc-arc, 然后就可以使用了,如下图所示:

图解iOS之ProtocolBuffer搭建和示例

图解iOS之ProtocolBuffer搭建和示例

图解iOS之ProtocolBuffer搭建和示例

图解iOS之ProtocolBuffer搭建和示例

图解iOS之ProtocolBuffer搭建和示例

7、编写测试代码,使用Person类进行数据序列化和反序列,如下图所示:

图解iOS之ProtocolBuffer搭建和示例

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢