本文作者:丁同舟,来自金蝶随手记技术团队。
cover-opti.png (16.76 KB, 下载次数: 1087)
下载附件 保存到相册
1 年前 上传
0.png (10.24 KB, 下载次数: 1111)
$ brew install autoconf $ brew install automake $ brew install libtool
$ ./autogen.sh $ ./configure $ make $ make install
$ protoc --version
libprotoc 3.5.1
syntax = "proto3"; message Person { string name = 1; int32 id = 2; string email = 3; enum PhoneType { MOBILE = 0; HOME = 1; WORK = 2; } message PhoneNumber { string number = 1; PhoneType type = 2; } repeated PhoneNumber phone = 4; }
protoc Person.proto --objc_out=./
$ cd protobuf-3.5.1/objectivec
$ mkdir ~/ProtobufDemo/ProtocolBuffers ~/ProtobufDemo/ProtocolBuffers/google ~/ProtobufDemo/ProtocolBuffers/google/protobuf $ cp *.h *.m ~/ProtobufDemo/ProtocolBuffers $ cp google/protobuf/*.pbobjc.h google/protobuf/*.pbobjc.m ~/ProtobufDemo/ProtocolBuffers/google/protobuf
1.jpg (57.29 KB, 下载次数: 1119)
2.jpg (71.6 KB, 下载次数: 1110)
3.jpg (16.39 KB, 下载次数: 1081)
4.jpg (16.33 KB, 下载次数: 1105)
#import "Person.pbobjc.h"
Person *p = [[Person alloc] init]; p.id_p = 1; p.name = @"person1"; p.email = @"123@qq.com"; //encode NSData *data = [p data]; NSLog(@"Protocol Buffers:\n%@\nData: %@\nData Length: %lu", p, data, data.length); //decode Person *newP = [[Person alloc] initWithData:data error:nil]; NSLog(@"Decoded: %@", newP);
Protocol Buffers: <;Person 0x60c0000da2b0>: { name: "person1" id: 1 email: "123@qq.com" } Data: <0a077065 72736f6e 3110011a 0a313233 4071712e 636f6d> Data Length: 23 Decoded: <;Person 0x6040000d9c90>: { name: "person1" id: 1 email: "123@qq.com" }
来源:即时通讯网 - 即时通讯开发者社区!
轻量级开源移动端即时通讯框架。
快速入门 / 性能 / 指南 / 提问
轻量级Web端即时通讯框架。
详细介绍 / 精编源码 / 手册教程
移动端实时音视频框架。
详细介绍 / 性能测试 / 安装体验
基于MobileIMSDK的移动IM系统。
详细介绍 / 产品截图 / 安装体验
一套产品级Web端IM系统。
详细介绍 / 产品截图 / 演示视频
精华主题数超过100个。
连续任职达2年以上的合格正式版主
为论区做出突出贡献的开发者、版主等。
Copyright © 2014-2024 即时通讯网 - 即时通讯开发者社区 / 版本 V4.4
苏州网际时代信息科技有限公司 (苏ICP备16005070号-1)
Processed in 0.109375 second(s), 39 queries , Gzip On.