美文网首页#iOS#HeminWon
Protocol Buffer for OC

Protocol Buffer for OC

作者: C丶丶H | 来源:发表于2016-04-07 11:56 被阅读810次

    1.Protocol Buffer简介

          Protocolbuffer(简称Protobuf或PB)是由Google推出的一种数据交换格式,它独立于语言,独立于平台。Google 提供了三种语言的实现:java、c++ 和 python,每一种实现都包含了相应语言的编译器以及库文件。可以把它用于分布式应用之间的数据通信或者异构环境下的数据交换。与传统的XML和JSON不同的是,它是一种二进制格式,免去了文本格式转换的各种困扰,并且转换效率非常快,由于它的跨平台、跨编程语言的特点,让它越来越普及,尤其是网络数据交换方面日趋成为一种主流。

    PB目前托管在GitHub,链接地址:https://github.com/google/protobuf

    我们OC用的链接地址:https://github.com/alexeyxo/protobuf-objc

    !!!!!!!出了3.0

    2.Mac环境配置

    打开终端,按照如下操作:

    1. 查看mac里面有没有装Homebrew

    `brew -v`

    2. 如果没有安装Homebrew就使用下面的命令安装

    `ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"`

    3. 安装protobuf编译器和所需的工具

    `brew install automake`

    `brew install libtool`

    `brew install protobuf`

    4. 创建一个链接到你protobuf编译器

    `ln -s /usr/local/Cellar/protobuf/2.6.1/bin/protoc /usr/local/bin`

    5. 克隆这个库

    `git clone https://github.com/alexeyxo/protobuf-objc.git`

     执行到这里,用终端进入下载好的protobuf-objc文件目录下。接着执行下一个步骤:

    6. 编译它

    `./scripts/build.sh`

     至此,Mac环境配置完毕。验证环境正确性:

     a: /usr/local/bin/ 路径下存在 protoc-gen-objc 工具;

     b: 终端下brew list命令结果中有 protobuf 工具,如下图:

    若a b均成功则配置正确。

    3.在工程中使用

    1. Add`/src/runtime/ProtocolBuffers.xcodeproj`in your project.

    1.Or use CocoaPods:(我是使用这个)

    platform:ios,’7.0’

    pod ‘ProtocolBuffers’, ‘~> 1.9.9.2’

    2.新建一个Model文件夹,拷贝电脑已经有的Person.proto文件至此。用终端进入该文件夹,执行

    protoc --plugin=/usr/local/bin/protoc-gen-objc Person.proto --objc_out="./"

    一次替换:

    protoc --plugin=/usr/local/bin/protoc-gen-objc *.proto --objc_out="./"

    3.在Model文件夹下便可以看到Person.pb.h和Person.pb.m这两个文件了。将生成的 .h 和 .m 文件添加到工程中,编译,搞定。

    相关文章

      网友评论

      • TimeLaoKey:怎么将NSdictionary转成proBuffer格式啊
      • 养頭渔:请问楼主,是从服务器请求下来protocol buffer的数据,然后转模型再使用吗??不知道我理解的对不对??新公司要求使用protocol buffer和xmlrpc,迫切需要学习,还希望能够指明方向,谢谢🙏
      • 囚砚:挺好!近期要用,给了我很大帮助!
        囚砚:@C丶丶H 用起来挺方便的:stuck_out_tongue:
        C丶丶H:@囚砚 :blush:
      • 小小希奇幻记:我们OC用的链接地址:https://github.com/alexeyxo/protobuf-objc

        请问楼主,c++用的链接地址是多少?
        C丶丶H:@河流之主 https://github.com/google/protobuf 这里面找找
      • 小小希奇幻记:感谢楼主,可以生成出来,不知道生成的文件如何使用
        C丶丶H:@河流之主 参考下载下来的Example。认真看一下,大同小异。
      • Abinb:感谢博主,已经搭建成功,正在研究怎么使用!
        C丶丶H:@152b059f1570 研究了要分享哈

      本文标题:Protocol Buffer for OC

      本文链接:https://www.haomeiwen.com/subject/tqwmlttx.html