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

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

相關文章
相關標籤/搜索