您的位置:首页 > 移动开发 > IOS开发

protobuf---真正-- 在IOS中的使用

2016-05-13 00:27 573 查看
转自 http://blog.sina.com.cn/s/blog_74e9d98d0101jood.html
1.首先要下载下载Protocol Buffers:http://code.google.com/p/metasyntactic/downloads/list

下2.2.0版,下了这个就不用再单独下载protobuf的官方版本了(仅支持java、c++、phtoy的)

2.解压,用命令行切换至ProtocolBuffers-2.2.0-Source目录下:

./autogen.sh

./configure
(如果说没有权限,chmod +x configure)

make(之前一直在此处make出错,经google,需修改/Applications/ProtocolBuffers-2.2.0-Source/src/google/protobuf/message.h文件,添加
#include

,修改如下:

#ifdef __DECCXX // HP C++'s iosfwd doesn't work.
#include
#else
#include
//#include//注释掉这个
#endif

另外,可能还会是其他错误,参考:https://code.google.com/p/protobuf/issues/detail?id=570

3.至此就在src目录下生成了protoc工具,开始使用此工具:

whedeMac-mini:ProtocolBuffers-2.2.0-Source
whe$ src/protoc --objc_out=build/objc Person.proto(objc_out表示输出文件的目录)

注意哦!不能直接cd到protoc工具所在的目录(即src目录)中,然后再直接使用protoc,因为这本身不包含--objc_out选项的,一定要从它的上级目录中开始使用(或者是./protoc调用也可以,也代表先跳转到protoc的上级目录再使用protoc),这是因为在src目录下还有一系列文件是用来生成OC类的(输入src/protoc
--help命令便可以看到出现了--objc_out选项)

4.新建一个工程,将生成的person
OC版的文件导入,然后将ProtocolBuffers-2.2.0-Source/objectivec 下的文件放到项目的目录下,创建一个ProtobufLib文件夹,放进去,最好放在一个文件夹下面像这样



之后把ProtocolBuffers.xcodeproj添加到项目中,配置像这样:





















ProtocolBuffers编译报错参考:https://code.google.com/p/metasyntactic/issues/detail?id=139

其他参考:http://www.cnblogs.com/uniy/archive/2011/12/21/2296405.html
http://blog.csdn.net/xinruiios/article/details/9168205 http://blog.csdn.net/hherima/article/details/17172441
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: