在不同平台通信的时候,首先需要将对象进行序列化。iOS平台上我们常用NSKeyedArchiver进行归档,当然也可以将数据处理为JSON或者XML格式。NSKeyedArchiver只能在iOS/Mac平台使用,因此它归档的二进制数据不适合于在不同平台之间使用。JSON和XML虽然由于容易维护,易读而应用比较广泛,但是对数据的利用效率都不是高。Google提出了 Protocol Buffers 作为一种跨平台、语言无关的序列化数据格式。Protocol Buffers提供代码生成工具,能够根据定义好的数据格式生成不同语言的代码,然后集成到项目中使用。Protocol Buffers目前有两种格式:proto2和proto3。Protocol Buffers支持Java、Python、C++、Objective-C等代码的生成。
下载Protocol Buffers的源码(下载地址),也可以到官网上下载。
编译Protocol Buffers。虽然我们是可以直接将它的代码或者项目引入Xcode中,但是还是需要编译重要的代码生成工具(protoc)。由于Protocol Buffers编译时使用了autoconf/automake/libtool等UNIX工具,Mac可能没有自带,需要手动安装。我们可以使用HomeBrew或者MacPort进行安装(二选一就行)。
1.下载依赖库(工具)
$ brew install automake
$ brew install libtool
2.下载Protobuf,这些执行之后后边pod才能成功
$ brew install protobuf
3, Protobuf去git下载最新版本。
4、安装ProtoBuf
$ ./configure
$ make
$ make check
$ sudo make install
$ sudo ldconfig # refresh shared library cache.
进入你解压后的目录,依次执行以上命令,如果命令都执行成功,说明ProtoBuf安装成功。通常情况ProtoBuf都安装在/usr/local目录下,该目录下包含了ProtoBuf的头文件,静态库和动态库文件
网友评论