一、前言
兄弟们,都2023年了,目前Protobuf稳定版本已经更新到了22.3了,为啥还要使用古老的2.5.0版本呢,别问,问就是多余了,我的原因是IM开业服务端只支持2.5.0版本,如果你愿意,请把原因打在评论区,废话不多说,直接上踩过无数坑的干货,如果对你有帮助,请给一个免费的小心心啦。
二、安装Protobuf 22.3
虽然说是安装Protobuf 2.5.0,咱也简单唠下最新版本安装方式,最简单就是用brew安装,如果不会用brew,请兄弟们自行百度。
1,安装命令
$ brew install protobuf
2,查看是否安装成功
$ protoc --version
// 打印/urs/local/bin/protoc
3,编译.proto
文件
// 1,进入.proto存放目录
$ cd <.proto文件目录>
// 2,将编译后的文件放到当前目录
$ protoc Person.proto --objc_out="./"
三、安装Protobuf 2.5.0
1,查看是否已安装Protobuf
$ protoc --version
如果有安装,会输出安装路径,比如/urs/local/bin/protoc
,否则提示command not found
。
2,卸载已安装Protobuf
为了保证安装2.5.0的顺利不报错,建议完全卸载已安装版本。参考:protoc版本问题。如果想保留多个版本,参考:Mac 安装多版本 protoc / protobuf。下面是完全卸载操作:
2.1 如果通过brew安装过Protobuf
$ brew uninstall protobuf
2.2 清理本地Protobuf相关文件
$ sudo rm -rf /usr/local/bin/protoc
$ sudo rm -rf /usr/bin/protoc
$ sudo rm -rf /usr/local/include/google
$ sudo rm -rf /usr/local/include/protobuf*
$ sudo rm -rf /usr/include/google
$ sudo rm -rf /usr/include/protobuf*
如果有报错找不到删除文件或目录,不用管。
3,安装支持的工具:automake、libtool
$ brew install automake
$ brew install libtool
4,下载Protobuf 2.5.0版本
直接去官网下载protobuf-2.5.0.tar.gz后面会报错:
protoc-gen-objc program not found or is not executable
一定要用我下面的命令去下载:
$ git clone --branch 1.9.1 https://github.com/alexeyxo/protobuf-objc.git
5,编译
// 进入下载文件根目录
$ cd protobuf-objc
// 切换到1.9.1
$ git checkout 1.9.1
// 开始编译
./build.sh
6,检查是否安装成功
// 查看protoc
$ which protoc // 打印 /usr/local/bin/protoc
$ protoc -- version // 打印 libprotoc 2.5.0
// 查看/usr/local/bin/目录中protoc-gen-objc是否存在
$ open /usr/local/bin/
7,编译.proto
文件
// 1,进入.proto存放目录
$ cd <.proto文件目录>
// 2,将编译后的文件放到当前目录
$ protoc Person.proto --objc_out="./"
8,podfile使用
最后的啦,在podfile中添加下面命令以支持2.5.0版本使用:
pod 'ProtocolBuffers', '1.9.1'
如果不出意外,就不会出意外了,大工告成,踩过无数坑总结,如果对你有帮助,请给个免费的小心心,如果有问题,欢迎在评论区留言或私信我,看到会第一时间回复。嘿嘿😋
参考文章:
protoc版本问题
Mac 安装多版本 protoc / protobuf
安装指定的Protobuf版本到Mac-Protobuf2.6.1