使用Protocol Buffers For Objective-C
使用这个类库:https://github.com/alexeyxo/protobuf-objc,支持ARC
。
构建 Objective-C Protocol Buffers 编译器
步骤如下:
- 通过
brew -v
命令,检查是否已经安装了Homebrew
。如果未安装,请执行ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
命令进行安装 - 安装
Protocol Buffers
编译器及必要的工具:brew install automake
、brew install libtool
、brew install protobuf
- (可选操作)为
Protocol Buffers
编译器创建符号链接:ln -s /usr/local/Cellar/protobuf/2.6.1/bin/protoc /usr/local/bin
- 克隆该库:
git clone https://github.com/alexeyxo/protobuf-objc.git
- 切换到该库所在目录:执行
./scripts/build.sh
编译Protocol Buffers协议文件
所用命令:protoc --plugin=/usr/local/bin/protoc-gen-objc 协议文件 --objc_out="类文件输出目录"
请确保
类文件输出目录
已存在。
比如,当前目录下有一个名为IMSDK.proto
的协议文件,通过以下命令,将生成的类文件保存到当前目录下的IMSDKPBClasses
目录中:
protoc --plugin=/usr/local/bin/protoc-gen-objc ./IMSDK.proto --objc_out="./IMSDKPBClasses"
协议文件通常以proto
为扩展名,但也可以使用其它扩展名,不过,使用其它扩展名,默认生成的类文件的名称就会包含这个扩展名:
协议文件 | 生成的类文件 |
---|---|
IMSDK.proto |
Imsdk.pbobjc.h Imsdk.pbobjc.m |
IMSDK.txt |
ImsdkTxt.pbobjc.h ImsdkTxt.pbobjc.m |
生成类文件后,需要将其添加到项目中。
将类库项目添加到主项目中
以子项目的形式将该类库中的src/runtime/ProtocolBuffers.xcodeproj
加入到主项目中。
因为直接加入是不会将文件复制过去的,因此,最好是在主项目所在目录下创建一个新目录,并将runtime
目录下的所有内容拷贝到这个新目录中,然后,将该新目录下的ProtocolBuffers.xcodeproj
拖到主项目中。
例如:
导入头文件:#import <ProtocolBuffers/ProtocolBuffers.h>
使用Protocol Buffers For Objective-C
https://daniate.github.io/2016/10/11/使用Protocol Buffers For Objective-C/