protocolbuffers应用在iOS的配置以及使用方法

安装 Protocol Buffers

安装 homebrew

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

安装 automake、libtool、protobuf。这里安装的 protobuf 是 google 官方版本。

brew install automake brew install libtool brew install protobuf

先下载protocolbuffer的源码 protocolbuffer 。里面有ios的部分,可以编译成framework的动态库或静态库.
安装protocolbuffer,protol类成成工具,一种办法是用上述源码里。
$ cd compiler

$ ./autogen.sh

$ ./configure

$ make

$ make install (optional)
 

编译 protoc-gen-objc。protoc-gen-objc 是 protoc 的一个插件,使其能将 .proto 文件编译成 objective-c 代码。

这些完成之后,写一个protoc文件测试: UserInfo.proto

enum UserStatus

{

OFFLINE = 0;

ONLINE = 1;

}

message UserInfo {

required int64 acctID = 1;

required string name = 2;

required UserStatus status = 3;

}

转换:

$protoc --objc_out=. UserInfo.proto

在当前目录出现两个文件: UserInfo.pb.h UserInfo.pb.m

在 Podfile 中添加 pod 'ProtocolBuffers', '1.9.2' 然后执行 pod install 。

生成完成,使用起来很方便,导入framework静态库到工程中,使用方法:

UserInfoBuilder* builder = [UserInfo builder];

[builder setName:@"zhangsan"];

[builder setAcctId:1000];

[builder setStatus:UserStatusOnline];

UserInfo* info1 = [builder build];

NSData* data = info1.data;

NSLog(@"data:%@", data);

//data->obj

UserInfo* info2 = [UserInfo parseFromData:data];

NSLog(@"obj:%@", info2);

猜你喜欢

转载自my.oschina.net/u/2418271/blog/1797340