美文网首页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