gRPC之IOSHelloworld

gRPC是google开源的一个跨平台网络层解决方案,旨在提高移动端网络层的性能,提升移动端网络层的开发效率,基于pb3.0和http2.0等最时髦的技术,目前版本是0.13,已经进入了beta版本。更多的简介,可以参考这里:
http://skyao.github.io/leaning-grpc/

这两天参照google的文档,折腾了一下gRPC的demo,十分的辛酸,整理一下提供大家参考。

gRPC下面有两个oc的demo,分别位于grpc/src/objective-c/examples/Sample和grpc/examples/objective-c/helloworld,他们的区别是前者是连google的RPC服务,后者是连本地的RPC服务。两个项目的build方法并没有太大的不同。

先看helloworld,在官网的文档第一页会看到Usage。不过还是到github上面看最保险,传送门如下
https://github.com/grpc/grpc/tree/release-0_13/examples/objective-c/helloworld

$ git clone https://github.com/grpc/grpc.git
$ cd grpc
$ git submodule update --init

如果遇到了错误,多半是因为还没有安装proto和相关的工具导致的。到官网看一下安装教程,或者直接gem或者brew安装就好了

如果在安装proto的时候遇到这个错误

Can't exec "aclocal": No such file or directory at 
/usr/local/share/autoconf/Autom4te/FileUtils.pm line 326.

可以参考这篇文章处理
http://blog.csdn.net/ldl22847/article/details/8572406
安装automake即可

如果在执行make的时候遇到这个错误

+ autoreconf -f -i -Wall,no-obsolete
Can't exec "glibtoolize": No such file or directory at /usr/local/Cellar/autoconf/2.69/share/autoconf/Autom4te/FileUtils.pm line 345, <GEN10> line 6.
autoreconf: failed to run glibtoolize: No such file or directory
autoreconf: glibtoolize is needed because this package uses Libtool

通过brew安装libtool即可

继续gRPC的helloworld之旅,按照如下的方法开启本地服务

$ pushd ../../cpp/helloworld
$ make
$ ./greeter_server &
$ popd

查看任务管理器,发现有一个greeter_server的进程即表示开启成功

pod的时候,推荐

$ pod install --verbose --no-repo-update

因为pod依赖的都是本地的源码,无须到服务器update,会快很多

pod的时候一般会遇到这个错误

Got the following message:
protoc-gen-objcgrpc: program not found or is not executable
--objcgrpc_out: protoc-gen-objcgrpc: Plugin failed with status code 1.

这个错误的意思是,找不到protoc-gen-objcgrpc这个插件的位置,无法生成对应的pb类。在一番google下找到了处理的方法
https://groups.google.com/forum/#!topic/grpc-io/wosw_PPcwBI

这篇帖子的意思是,找到出错的podspec文件,在对应的位置修改,譬如helloworld需要修改HelloWorld.podspec文件,将

protoc -I #{src} --objc_out=#{dir} --objcgrpc_out=#{dir} #{src}/helloworld.proto

修改为

protoc -I #{src} --objc_out=#{dir} --grpc_out=#{dir} --plugin=protoc-gen-grpc=/usr/local/bin/grpc_objective_c_plugin #{src}/helloworld.proto

即可

注意,如果不写上--grpc_out=#{dir},则只会生成pbobjc文件,而不会生成pbrpc文件,相当于gRPC的service部分没法用了。

对于Sample这个demo来说,将会在RemoteTestClient这个podspec报错,按照上文的方式修改即可

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,509评论 6 504
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,806评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,875评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,441评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,488评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,365评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,190评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,062评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,500评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,706评论 3 335
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,834评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,559评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,167评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,779评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,912评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,958评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,779评论 2 354

推荐阅读更多精彩内容

  • 最近有朋友问我有没有用过GRPC ,我一直以为RESTful的流行让 RPC(Remote Procedure C...
    dimsky阅读 10,710评论 8 12
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,111评论 25 707
  • 昨天的朋友圈“银装素裹,分外妖娆”。有“山舞银蛇, 原驰蜡像”,也有“千峰笋石千株玉,不嫌幽谷阻黄莺”,还有才情洋...
    三年不蜚阅读 331评论 0 0
  • 望左望右望苍天, 灯火辉煌在子夜。 蛐蛐鸣曲入双耳, 思绪纷飞达旷野。 2017.8.25子夜
    白丰阁阅读 288评论 0 2
  • I重述 当我们关心朋友或家人时,想把自己认为正确的观点或方法传授给对方,让他向正确的方法前进。我们是好意,但是对方...
    文小术阅读 233评论 3 2