iOS Protobuf3.3安装与使用

后端存储 简书

使用Protobuf是因为其性能好,效率高。具体介绍可以参考谷歌官方文档 https://developers.google.com/protocol-buffers/。

下面介绍如何安装使用Protobuf3.0及以上版本,编译生成OC代码,并在工程中正确使用。

安装Protobuf

从GitHub下载代码。 https://github.com/google/protobuf。

直接clone就是最新的代码。当然也可以在clone时指定自己需要的版本。本文使用的是最新的代码,即Protobuf3.3.0。

下载完成后,使用终端,切换至protobuf所在的文件路径。

安装前需要先确认自己的MAC安装了autoconf和automake。如果没有安装可以直接通过命令行 brew install autoconf
以及 brew install automake
进行安装。其中brew是指HomeBrew,如果MAC没有安装HomeBrew,可以通过命令行 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
进行安装。

准备工作进行完后,就开始安装Protobuf。

还是先确认在Protobuf所在的文件目录下。然后按步骤执行* sudo ./autogen.sh

  • ./configure
  • make
  • make install

    此时protobuf就安装成功了。执行 protocbuf --version
    就可以看到安装的版本号了。

编译生成OC代码

创建proto文件。此处使用最简单的例子。创建User.proto。里面的内容是

syntax = "proto3";

message UserInfo {
  required int64 id = 1;
  required string name = 2;
}

然后使用终端切换到User.proto所在的文件夹路径。执行命令 protocbuf User.proto --objc_out=./
。以上是最简单的生成OC代码的命令。执行完成后,会在当前文件夹生成User.pbobjc.h和User.pbobjc.m两个文件。到此生成OC代码的工作也完成了。

工程中使用生成的代码

在生成.h和.m文件后,把它们引入到自己的工程,如果此时直接编译会报错,原因是没有引入PB的文件。解决方法有两个:

  • 使用Cocoapod,在podfile中添加 pod 'Protobuf'
    注意大小写。然后 pod install
    再编译就可以了。这个方法简单方便。
  • 如果不适用pod管理,就要把PB需要的文件手动引入到工程。具体文件在第一步Colne的protobuf/objectivec文件夹里面。而且还得注意如果工程是ARC时,要把部分PB文件置为 -fno-objc-arc
    。具体设置参考GitHub文档 https://github.com/google/protobuf/tree/master/objectivec

此时再次编译就OK了。使用方法也很简单

User *tom = [[User alloc] init];
tom.name = @"tom";
NSData *tomData = [tom data];
简书稿源:简书 (源链) | 关于 | 阅读提示

本站遵循[CC BY-NC-SA 4.0]。如您有版权、意见投诉等问题,请通过eMail联系我们处理。
酷辣虫 » 后端存储 » iOS Protobuf3.3安装与使用

喜欢 (0)or分享给?

专业 x 专注 x 聚合 x 分享 CC BY-NC-SA 4.0

使用声明 | 英豪名录