protobuf 怎么在iOS中实用

发布网友 发布时间:2022-04-23 09:10

我来回答

1个回答

热心网友 时间:2022-04-14 13:49

  有两种方式,一是直接使用C++版, 引用.h和dylib就可以了, 用在位的5s上很容易,但是在5以下的32位上编译环不容易弄对。
  二是用objc版的。可以参考如下操作:
  1,下载ProtocolBuffer包,并按照包中根目录下README.txt安装。
  make install后,会生成编译器protoc,并拷贝到/usr/local/bin目录下。

  2,下载Objective-C compiler for ProtocolBuffer。

  目前有两种类型的实现。

  一个针对ProtocolBuffer2.2做修改,使最后生成的.proto文件编译器(protoc)支持Objective-C类型的文件输出。

  它在这里:http://code、google、com/p/metasyntactic/wiki/ProtocolBuffers

  另一个针对ProtocolBuffer2.3推出的plugin模式编写插件,以插件方式支持Objective-C类型的文件输出。

  它在这里:https://github、com/booyah/protobuf-objc

  我选用第二种方式,这也是Google推荐的方式。

  git clone https://github、com/booyah/protobuf-objc.git

  默认会在当前运行目录下创建protobuf-objc目录。进入该目录,并执行:

  ./autogen.sh

  ./configure

  make

  make install

  最终生成的插件名字为protoc-gen-objc,会被安装到/usr/local/bin/目录下。

  3,测试.proto文件编译。

  随便写一个test.proto文件,并编译该文件。命令是:

  protoc –objc_out=/Output/Directory/ test.proto

  protoc会自动在/usr/local/bin/目录下寻找名为”protoc-gen-objc”的插件,并使用该插件编译.proto文件,最终生成两个文件:

  test.pb.h

  test.pb.m

  这个步骤通过后,说明ProtocoBuffer Compiler for Objective-C可以正常工作了。

  4,在Xcode4.3.1中使用ProtocolBuffer

  将步骤2中protobuf-obj/src/runtime/Classes目录导入到Xcode项目中,导入时,选中”Copy items into destination group‘s folder(if needed)“。

  导入位置选择项目根目录。导入完毕后,项目根目录下将会出现Classes目录。将该目录改名为ProtocolBuffers(注意最后的s):

  mv Classes ProtocolBuffers

  修改项目属性中”Build Setting——>Header Search Pathes”,将项目根目录“.”添加到头文件搜索路径中去。

  这样ProtocolBuffer for Objective-C的工作环境就配置好了。

  5,使用

  将步骤3中编译输出的test.pb.h和test.pb.m添加到项目中,就可以直接使用了。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com