第一步、配置环境(重要)
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目录下, 直接执行下面的终端命令, 我这里需要好几分钟)
$ 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
第五步、如果编译没有报错, 恭喜你, 坑被你踩平了!!!
网友评论