protobuf 怎么在iOS中实用

protobuf 怎么在iOS中实用,第1张

有两种方式,一是直接使用C++版, 引用.h和dylib就可以了, 用在64位的5s上很容易,但是在5以下的32位上编译环不容易弄对。

二是用objc版的。可以参考如下 *** 作:

1,下载ProtocolBuffer包,并按照包中根目录下README.txt安装。

make install后,会生成编译器protoc,并拷贝到/usr/local/bin目录下。

2,下载Objective-C compiler for ProtocolBuffer。

目前有两种类型的实现。

一个针对ProtocolBuffer2.2做修改,使最后生成的.proto文件编译器(protoc)支持Objective-C类型的文件输出。

它在这里:http://code.google.com/p/metasyntactic/wiki/ProtocolBuffers

另一个针对ProtocolBuffer2.3推出的plugin模式编写插件,以插件方式支持Objective-C类型的文件输出。

它在这里:https://github.com/booyah/protobuf-objc

我选用第二种方式,这也是Google推荐的方式。

git clone https://github.com/booyah/protobuf-objc.git

默认会在当前运行目录下创建protobuf-objc目录。进入该目录,并执行:

./autogen.sh

./configure

make

make install

最终生成的插件名字为protoc-gen-objc,会被安装到/usr/local/bin/目录下。

3,测试.proto文件编译。

随便写一个test.proto文件,并编译该文件。命令是:

protoc –objc_out=/Output/Directory/ test.proto

protoc会自动在/usr/local/bin/目录下寻找名为”protoc-gen-objc”的插件,并使用该插件编译.proto文件,最终生成两个文件:

test.pb.h

test.pb.m

这个步骤通过后,说明ProtocoBuffer Compiler for Objective-C可以正常工作了。

4,在Xcode4.3.1中使用ProtocolBuffer

将步骤2中protobuf-obj/src/runtime/Classes目录导入到Xcode项目中,导入时,选中”Copy items into destination group‘s folder(if needed)“。

导入位置选择项目根目录。导入完毕后,项目根目录下将会出现Classes目录。将该目录改名为ProtocolBuffers(注意最后的s):

mv Classes ProtocolBuffers

修改项目属性中”Build Setting——>Header Search Pathes”,将项目根目录“.”添加到头文件搜索路径中去。

这样ProtocolBuffer for Objective-C的工作环境就配置好了。

5,使用

将步骤3中编译输出的test.pb.h和test.pb.m添加到项目中,就可以直接使用了。

在网上查了一下,虽然有很多文章介绍Protocol Buffer,但是实际使用起来,还是会遇到很多问题,所以我想应该有一个指南一样的东西,让新手很快就能使用它。

Protocol Buffer简写为Protobuf,是Google开发的一种储存数据的方式,功能与XML一样,但更方便,数据量更小,速度更快,在序列化和反序列化的时候使用,有很大的优势。比如,网络游戏的通讯协议编写。更重要的是,它是一个开源项目。

由于Protobuf不能生成C#代码,所以就要用到另外一个开源项目protobuf-net,

用法是,在命令行用protoc.exe依据你自己定义的.proto文件,来生成.cpp文件

用protobuf-net的protogen.exe来生成.cs文件,可以写一个批处理,如下:

protoc -I=. --cpp_out=. Net.proto //在当前目录下,以cpp方式编译Net.proto

protogen -i:Net.proto -o:Net.cs//在当前目录下,用Net.proto生成Net.cs

其实两句功能是一样,只是分别生成了Net.proto的cpp文件和cs文件,这样就可以在两种语言编写的应用程序间通信了。

protobuf版本需要在protobuf程序中查看。

在protobuf程序中查看版本步骤如下所示:

1、点击打开计算机,进入分区列表。

2、在计算机分区列表中选择protobuf程序所在的文件夹。

3、点击打开protobuf程序。

4、如图所示在protobuf程序中,即可完成protobuf版本查看。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12104916.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存