iOS端 Protobuf 环境的安装及使用
1、集成Protobuf工具环境。
2、创建Protobuf文件并进行转换
3、往项目里集成protobuf
一、集成protoc OC环境
1. 下载protoc项目
2. 生成protoc编译器
cd到下载目录,终端依次执行以下命令:
./autogen.sh
./configure
make
sudo make install
objectivec/DevTools/full_mac_build.sh
执行成功后在src文件夹下会有个protoc可执行文件
二、集成protoc Swift环境
下载苹果官方提供的swift-protobuf
- 编译和安装
先下载,进入,列出tag,切换到对应分支,然后build
git clone https://github.com/apple/swift-protobuf.git
cd swift-protobuf
git tag -l
git checkout tags/[tag_name]
swift build
然后进入.build/debug文件夹下,找到protoc-gen-swift,这是一个可执行文件,复制一份放到系统的PATH环境目录下,在mac也就是磁盘/usr/local/bin下面
其中protoc是方法一谷歌生成OC版转换器
三、创建protoc文件并进行转换
1.根据需求可以在Xcode中新建一个empty文件,并命名后缀格式为proto
1.使用Xcode新建proto文件
2.proto文件代码如下(protoc语法这里不再述说)
2.转换为OC类文件命令
protoc --proto_path=路径1--objc_out=路径2 xxx.proto
3.转换为Swift文件命令
protoc --proto_path=路径1--swift_out=路径2 xxx.proto
路径1:创建的proto文件所在的目录
路径2:转换后的文件输出路径
xxx.proto:创建的proto文件名称
-
为了区分便利proto文件和转换后的OC文件、Swift文件,可以新建三个文件夹。
如图所示,可把proto文件放在“protoFile”文件夹内,转换后的OC文件可放在“objcFile”文件夹内,swift文件放在swiftFile 文件夹内。
cd到protoFile上层文件,执行转化命令
1.OC文件转化命令
protoc --proto_path=protoFile --objc_out=objcFile Result.proto
2.swift文件转化命令
protoc --proto_path=protoFile --swift_out=swiftFile Result.proto
-
执行成功之后会在“objcFile”文件夹中出现转换后的OC文件,“swiftFile”文件夹中会出现转换后的Swift文件。把需要使用的OC、swift文件放到自己的项目中使用。
- 引入项目 推荐使用pod
pod 'Protobuf'
pod 'SwiftProtobuf'