美文网首页iOS专题技术收录
ProtocolBuffer for IOS(OC) 运行环境配

ProtocolBuffer for IOS(OC) 运行环境配

作者: TingLinx | 来源:发表于2017-01-12 00:23 被阅读0次

    一、前言

    ProtocolBuffer(PB)的介绍就不多说了,由于项目需要用PB代替JSON,然而小试牛刀一把,从网上看到很多用了cocoapods作为辅助工具,我试过了好几次莫名其妙的报类库找不到,不得不放弃cocoapods,从而手动下载配置相关运行环境。

    二、Mac(macOS Sierra 10.12.2)编译环境配置

    由于要把*.proto源文件编译成*.pbobjc.h 和 *.pbobjc.m文件,需要在mac上面配置一个编译器。

    1:下载PB对应版本编译器包(当前版本v3.1.0)

    从https://github.com/google/protobuf/releases找到

    下载后解压,文件夹命名为 protobuf-oc ,使用终端进入protobuf-oc文件夹,然后依次执行以下命令(以下命令可能会报错误,我执行第三条的时候报了几个错,但我没有理会, 它不影响我使用protoc命令就OK了)

    ./configure

    make

    make check

    sudo make install

    执行完后,如果666的话,就可以使用protoc命令了。至此已经完成了在mac上面配置把*.proto源文件编译成*.pbobjc.h 和 *.pbobjc.m文件的环境。

    三、配置iOS项目(Xcode8.1)

    1:下载ProtocolBuffer相关类库

    从https://github.com/google/protobuf.git下载、解压,因为是iOS项目所以找到objectivec文件夹,

    2:创建iOS项目名字为TestPB,把刚才的objectivec文件夹整个复制到项目里面

    回到Xcode中的TestPB项目 <add files to "TestPB"> 选择objectivec中的ProtocolBuffers_iOS.xcodeproj文件

    然后引入libProtocolBuffers.a文件

    工程设置搜索静态库的头文件,所有头文件在objectivec里面

    targets —>  Build Setting  —>  Search Paths  —> Header Search Paths, 写入:$(PROJECT)/objectivec

    3、把把*.proto源文件编译成*.pbobjc.h 和 *.pbobjc.m文件

    我在桌面创建了个文件夹为pb里面有个User.proto文件,

    用终端进入桌面的pb文件夹,然后再执行以下命令

    protoc *.proto --objc_out=./

    执行成功后发现桌面上的pb文件夹里面变成了三个文件。

    然后把.h和.m文件复制到TestPB项目中

    运行,就发现报了个错说不支持ARC ,因为ProtocolBuffer生成的*.pbobjc.m文件不支持ARC所以要把*.pbobjc.m文件设置-fno-objc-arc(自行百度)

    运行没有错的话就OK了。

    最后测试下所谓的PB是怎样的使用

    完结,如需要例子或不会的请留言。。

    相关文章

      网友评论

        本文标题:ProtocolBuffer for IOS(OC) 运行环境配

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