iOS-Protobuf的使用

作者: 关键我也没 | 来源:发表于2018-02-28 18:10 被阅读241次

简介:
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文件


屏幕快照 2018-02-28 下午5.08.30.png

二、使用protoc转换文件

1.根据需求新建后缀为proto的文件,例: auth.proto
屏幕快照 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左下角加号,


屏幕快照 2018-02-28 下午5.42.57.png

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


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

PS:

Demo地址

相关文章

  • iOS-Protobuf的使用

    简介:Protobuf是一种数据交换格式,可以用于诸如网络传输、配置文件、数据存储等。我是在项目中socket通讯...

  • ios-protobuf简介

    二、protobuf的使用 1、编译Protocol Buffers A.下载Protocol Buffers将下...

  • iconfont的使用(下载使用)

    1、下载文件 2、在生命周期中引入项目 beforeCreate () { var domModule = ...

  • Gson的使用--使用注解

    Gson为了简化序列化和反序列化的过程,提供了很多注解,这些注解大致分为三类,我们一一的介绍一下。 自定义字段的名...

  • 记录使用iframe的使用

    默认记录一下----可以说 这是我第一次使用iframe 之前都没有使用过; 使用方式: 自己开发就用了这几个属...

  • with的使用

    下面例子可以具体说明with如何工作: 运行代码,输出如下

  • this的使用

    什么是this? this是一个关键字,这个关键字总是返回一个对象;简单说,就是返回属性或方法“当前”所在的对象。...

  • this的使用

    JS中this调用有几种情况 一:纯粹的函数调用 这是函数的最通常用法,属于全局性调用,因此this就代表全局对象...

  • ==的使用

    积累日常遇到的编码规范,良好的编码习惯,持续更新。。。 日常使用==用于判断的时候,习惯性将比较值写前面,变量写后...

  • this的使用

    1.默认绑定,就是函数立即执行。 函数立即执行就是指向window,但是如果是node环境,就是指向全局conso...

网友评论

    本文标题:iOS-Protobuf的使用

    本文链接:https://www.haomeiwen.com/subject/ovlixftx.html