iOS-Protobuf的使用

简介:
Protobuf是一种数据交换格式,可以用于诸如网络传输、配置文件、数据存储等。我是在项目中socket通讯用到的Protobuf。使用Protobuf大致分三步:
1.集成protoc工具
2.根据自己的需求创建proto文件并转换
3.向自己的项目集成protocbuf

一、集成protoc环境

1.下载protoc项目
2.生成protoc编译器

cd到下载目录,终端依次执行以下命令

./autogen.sh
./configure
make
sudo make install
objectivec/DevTools/full_mac_build.sh

成功后在src文件夹下会有个protoc文件


iOS-Protobuf的使用_第1张图片
屏幕快照 2018-02-28 下午5.08.30.png

二、使用protoc转换文件

1.根据需求新建后缀为proto的文件,例: auth.proto
iOS-Protobuf的使用_第2张图片
屏幕快照 2018-02-28 下午5.13.41.png
2.转换
protoc --proto_path=路径1--objc_out=路径2 XXXX.proto

路径1 : 创建的proto文件所在目录
路径2 : 转换后的文件输出路径
XXXX.proto : 创建的proto文件名称
例:
在桌面创建放proto文件的文件夹 "MySrc", 在 "MySrc" 里创建proto文件auth.proto, 在桌面创建放转换后的文件的文件夹 "MyGen", 则在终端
先cd 到桌面

protoc --proto_path=MySrc --objc_out=MyGen MySrc/auth.proto

执行命令后会发现在 "MyGen" 文件夹中出现 Auth.pbobjc.h / Auth.pbobjc.m, 这两个就是我们项目中需要的文件。

三.向项目集成protobuf

1.下载Demo
2.将demo里的objectivec文件夹复制到自己的项目(文件路径:GPBTest/PB/objectivec)
3.向项目加入ProtocolBuffers_iOS.xcodeproj子项目

点击xCode左下角加号,


iOS-Protobuf的使用_第3张图片
屏幕快照 2018-02-28 下午5.42.57.png

选择刚才复制的objectivec文件夹里的ProtocolBuffers_iOS.xcodeproj


iOS-Protobuf的使用_第4张图片
屏幕快照 2018-02-28 下午5.45.15.png
4.配置路径
iOS-Protobuf的使用_第5张图片
屏幕快照 2018-02-28 下午5.46.50.png
5.将生成的转换文件拖进项目(例:Auth.pbobjc.h/Auth.pbobjc.m)并更改Compiler Flags为 -fno-objc-arc
iOS-Protobuf的使用_第6张图片
image.png
6.完成,可以使用这个类进行操作了。

PS:

Demo地址

你可能感兴趣的:(iOS-Protobuf的使用)