iOS

Google Protocol Buffers iOS使用举例(

2020-03-03  本文已影响0人  码农二哥

简介

Protobuffer是一个类似JSON的一个传输协议,其实也不能说是协议,可以认为是一种传输数据格式类似JSON,XML。但是比JSON更加轻量。消耗更小的带宽。
跨语言,这是它的一个优点。它自带了一个编译器,protoc,只需要用它进行编译,可以编译成JAVA、python、C++、OC代码。

安装

安装方式有两种,我最开始选择了比较笨的一种,先介绍比较简单的一种

简单


  1. 下载:参考链接:https://github.com/protocolbuffers/protobuf/releases
    image.png
  2. 编译:下载完成之后,进行解压,然后使用终端,进入到其解压文件下:
    依次在终端中执行
# 前提是:使用brew按照工具链(xcode autoconf automake libtool)
$ ./autogen.sh
$ ./configure
$ make
$ make check
$ sudo make install # 这一步也可以不做,用的时候直接使用路径找就好

相对愚蠢的另一种


  1. 参考链接:https://github.com/protocolbuffers/protobuf按照官方文档操作

  2. 参考方法二其实比较简单


    image.png
  3. 我一个粗心,选择了方法一,参考链接:https://github.com/protocolbuffers/protobuf/blob/master/src/README.md
    准备阶段(使用brew按照工具链):

    image.png
  4. 下载代码编译:


    image.png

使用


1 创建.proto文件person.proto

syntax = "proto3";

message Person {
    int64 person_id = 1;
    string person_name = 2;
    string person_gender = 3;
    string person_message = 4;
}

2 利用protoc的插件生成对应的.h与.m文件

protoc ./person.proto --objc_out=./

3 在工程中使用

pod 'Protobuf';
Person *person = [Person new];
person.personId = 1;
person.personName = @"Carson";
person.personGender = @"Male";
person.personMessage = @"I'm the best in the world !";
    
NSData *personData = [person data];
NSString *encodedBase64FromStr = [personData base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];
上一篇下一篇

猜你喜欢

热点阅读