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阅读 204,793评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,567评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,342评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,825评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,814评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,680评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,033评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,687评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,175评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,668评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,775评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,419评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,020评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,206评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,092评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,510评论 2 343

推荐阅读更多精彩内容

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