使用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/