grpc & pb 环境配置
grpc 官方中文文档:http://doc.oschina.net/grpc?t=60140
grpc github仓库:https://github.com/grpc/grpc
protobuf github仓库:https://github.com/google/protobuf
推荐使用 homebrew 安装,终端输入 brew --version , 如果有报错,则需要安装brew
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
下面安装grpc,前提是不能安装grpc和protobuf
brew tap grpc/grpc
brew install --with-plugins grpc
一切安装成功之后----可能会很麻烦,到这可能还没成功,慢慢弄吧,现在就当已经成功了,新建一个xcode工程,在 Podfile 里加入这几个三方
pod 'Protobuf', '~> 3.0.0-beta-3.1' pod 'gRPC' pod 'BoringSSL'
运行 pod install 后如果在 GPBWellKnownTypes.h 文件里#import "google/protobuf/Duration.pbobjc.h"这个地方报错,这是因为宏 GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS 的原因,需要手动加入这个宏
路径:工程->targets->gRPC->Build Setting->Preprocessor Macros 双击添加宏 GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1
再重新编译即可成功编译。
****************************************************************
下载的示例代码中,如果要运行 helloworld | route_guide | auth_sample 这几个工程,需要改些东西,以 helloword 为例:
1、打开 HelloWorld.podspec 文件
2、替换一行代码,把
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
再运行 pod install 。
ok