protobuf 集成小结OC

第一步、配置环境(重要)
1、安装 protobuf , 注意: protobuf必须是最新版本,如果已经安装了, 则需要升级版本
安装版本:$ brew install protobuf
升级版本:$ brew upgrade protobuf
查看版本:$ protoc --version

第二步、下载protobuf库并编译
下载面向Objective-C的protobuf库,地址为 https://github.com/google/protobuf
下载好直接cd到protobuf-master目录:
然后执行 full_mac_build.sh 这个文件 (这个文件在objectivec/DevTools目录下, 直接执行下面的终端命令, 我这里需要好几分钟)

Snip20171206_50.png

$ objectivec/DevTools/full_mac_build.sh

如果执行这个命令失败, 可能是少安装了某些插件, 官方文档有说到, 需要安装这些工具: https://github.com/google/protobuf/blob/master/src/README.md

$ brew install automake

第三步、生成objc的 .h .m文件
执行完后会在src目录下生成了protoc二进制文件,


Snip20171206_44.png

生成proto二进制文件后, 我们只需要这个 proto二进制文件, 其他的文件都没有用了, (我重新创建一个空的文件夹存放这个proto文件).
然后cd到存放有proto文件的目录下(protobuf), 执行编译操作(把.proto文件编译成 objc 的 .h .m文件)

$ protoc --proto_path=. --objc_out=out login.proto
Snip20171206_45.png

第四步、项目集成protobuf
这里使用cocoapods方式导入
在podfile文件里面 我这里下载的Protobuf 版本是3.5.0, 这里编译的版本最好和 podfile里面的版本一致

pod 'Protobuf', '~> 3.5.0'

然后把 生成的.h .m 文件拖入工程, 此时还没有完, 编译会有报错!!!
因为protobuf基于性能原因没有使用ARC, 所以我们需要配置Complier Flags设为-fno-objc-arc
每个 .pbobjc 都需要这样配置!!!


Snip20171206_49.png

第五步、如果编译没有报错, 恭喜你, 坑被你踩平了!!!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容