iOS proto buffer-objective c安装

编译配置

1.从https://github.com/google/protobuf/releases下载protobuf-objectivec-3.0.0-beta-2.tar.gz

2.打开终端,cd进入到protobuf-objectivec-3.0.0-beta-2.tar.gz所在目录。tar -zxvf  解压到当前目录下。

3.cd 到解压后的目录,进入protobuf-3.0.0-beta-2

4 ./autogen.sh

5  ./configure

6. make

7  make install

8 之后会在protobuf-3.0.0-beta-2/src下生成一个protoc

9 创建一个Msgproto.proto文件,把它放到protobuf-3.0.0-beta-2/src目录下

10 在protobuf-3.0.0-beta-2 目录下新建一个protoData的文件夹,cd到protobuf-3.0.0-beta-2 目录,然后在终端输入src/protoc --proto_path=src --objc_out=protoData src/Msgproto.proto


iOS proto buffer-objective c安装_第1张图片

使用cocoapod添加工程依赖库

1.在终端cd进入项目文件夹(cd 然后把项目文件夹拖入)

2.创建podfile:输入vim podfile ,打开文件后输入i进入编辑状态

3.platform:ios,’8.0’

target ‘MyApp’ do

pod 'Protobuf', ‘3.0.0-beta-2'(版本号)

end

里面的 MyApp 记得替换为自己工程里面的target名

ps:我升级了cocoapods的版本1.0.0.beta.4,因此创建podfile的时候就要改为现在这种格式了。

CocoaPods报错:The dependency `AFNetworking ` is not used in any concrete target - Kamy Shi - 博客频道 - CSDN.NET

按ESC取消编辑状态,输入:wq回车推出

4.在终端输入pod install执行。完成后退出工程,再次进入就会看到PB依赖库了。

ProtocolBuffer for Objective-C 运行环境配置及使用 -

有一个要说明的:(目前尚不清楚解决办法)

先导入其他第三方静态库.a .h,再添加pbbuf的cocoapod依赖,pod install 会报警告,猜测是因为导入其他第三方库的时候手动设置过aheader path和library path

iOS proto buffer-objective c安装_第2张图片

更新:感觉这是cocoapods的一个bug,这是解决办法

iOS proto buffer-objective c安装_第3张图片

使用protobuffer

.proto文件对应生成的.h 和.m文件都是MRC的,引入ARC工程中要把这文件的ARC禁用。添加-fno-objc-arc

iOS proto buffer-objective c安装_第4张图片

把.h .m文件添加到工程中并且#import .h文件即可使用

//创建对象

Source* s = [Source new];

s.name = @"this is a test";

s.id_p = @"1";

//序列化为Data

NSData *data = [s data];

NSLog(@"%@",data);

//反序列化为对象

Source *s2 = [Source parseFromData:data error:NULL];

NSLog(@"name:%@ id:%@",s2.name,s2.id_p);

你可能感兴趣的:(iOS proto buffer-objective c安装)