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 文件添加到工程中,编译,搞定。