相关文档说明:
官方文档:https://grpc.io/docs/tutorials/basic/objective-c.html
阿里云讨论:https://www.aliyun.com/jiaocheng/ios_1410.html?spm=5176.100033.2.8.Ij2Pzr
简书ios-grpc集成:https://www.jianshu.com/p/f33091df0881
废了半天劲,智能跟着网上的教程,编译单个proto文件,报错:
google/api/annotations.proto: File not found.
account.proto: Import "google/api/annotations.proto" was not found or had errors.
步骤如下:https://blog.csdn.net/sdsd13212/article/details/62044348
其实就是安装proto,安装proto-objctC,安装grpc-proto,安装cocopod
安装就不说了,说一下编译语句:
protoc --plugin=/Users/grpc -I /Users/task001/tmp/src/main/proto/ test.proto --objc_out=./gen
--plugin:grpc-安装的目录
-I :项目的全目录
test.proto : proto文件名
--objc_out : 生成的objc文件输出位置
缺点:只能一个一个的去编译,而且会报以上错误
cocopod+xcode可以将proto项目,直接编译,详情请看最上边简书的链接。
在此总结存在相互import时,包名问题:
由于ios开发没有包的概念,所以proto存在相互调用时会产生包错误问题,解决方案:
1、手动修改import语句。
2、将包项目直接放入待编译路径下,然后将proto文件放到待编译路径下,这样就可以找到import资源了。
可能还是会报相互引用错误,此时根据错误,建议去修改脚本(*.podspec)文件,不建议删除,建议通过中间文件夹暂时存放冲突文件。
nice解决这个问题。