安装 Protocol Buffersios
安装 homebrewgit
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"github
安装 automake、libtool、protobuf。这里安装的 protobuf 是 google 官方版本。objective-c
brew install automake brew install libtool brew install protobufruby
先下载protocolbuffer的源码 protocolbuffer 。里面有ios的部分,能够编译成framework的动态库或静态库.
安装protocolbuffer,protol类成成工具,一种办法是用上述源码里。
$ cd compilercurl
$ ./autogen.sh工具
$ ./configure测试
$ makeui
$ make install (optional)
google
编译 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);