安裝 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);