美文网首页
protobuf在iOS中的使用

protobuf在iOS中的使用

作者: Joyous | 来源:发表于2017-08-18 14:02 被阅读37次

    由于我们这边数据的特殊性,数据量大、刷新频繁等原因,于是使用到了Google得protobuf协议。
    相比较于Json、XML,它更小巧,于是在同等网络条件下,它的传输速度会更快,同等量级的数据的情况下,它能为用户省下更多的数据流量,而且Google也为他提供了多语言的支持。

    谷歌官网 : Google Protocol Buffers
    Github项目地址 : Google's protobuf

    对于protobuf的协议内容,就不多说了,官网上对于protobuf2和protobuf3有很详细的说明,可以去官网看看。详细介绍

    这里主要是说一下如何安装protobuf的编译环境,能够在iOS中使用,毕竟我们熟悉的还是OC的.h .m,而不是Google的.proto

    1. 首先使用brew -v指令检查一下你的homebrew版本,如果没有的话,就安装一下:

    ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    

    2.安装几个工具:

    brew install automake  
    brew install libtool  
    brew install protobuf  
    

    3. Clone一下Google的这个项目到你的本地 : https://github.com/google/protobuf.git

    4. 完成后,使用python --version指令检查一下你的python版本,由于我用的是python3版本,跑了老半天到最后出错了,最后还是切回python2

    5. cd到Clone下来的protobuf的项目目录,执行 objectivec/DevTools/full_mac_build.sh,就等着终端上一大堆的log跑吧。

    6. shell脚本跑完以后,就可以新建一个.proto文件了,cd到这个文件所在的目录,执行:

    protoc --plugin=/usr/local/bin/protoc-gen-objc  --objc_out=./ *.proto
    

    然后你就会发现这个目录下多了.h .m两个文件,把它俩放到项目中即可。

    7. 如果你的项目用的是ARC,当然,现在基本上都是ARC了,那么你就得对这个拖进项目的.m文件设置一下,因为它还是用的MRC
    选择你的project文件— target—Build PhasesCompile Sources,找到你添加的.m文件,然后加上-fno-objc-arc,如图:

    参考文档:

    iOS中protobuf 的安装和使用

    Google's data interchange format

    相关文章

      网友评论

          本文标题:protobuf在iOS中的使用

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