美文网首页
iOS Swift Protobuff GRPC 小记

iOS Swift Protobuff GRPC 小记

作者: 東玖零 | 来源:发表于2019-10-21 19:23 被阅读0次

    能力有限对于iOS使用GRPC也只能是一知半解,本次只是对遇到的问题简单的记录一下。

    至于为什么要使用还请移步中文GRPC,不过还是用了才知道坑有多少。

    背景

    公司里多人合作开发,同一套代码不同版本的Xcode上使用会报错,于是促进了Xcode的更新,促进了Mac系统的更新,我当前的系统版本是10.15,Xcdoe的版本11.1,先是更新10.3的Xcode发现git各种不好用,弹框报错,无法比对更改的代码,有文件更改左侧边栏不变化等等,后来又发现iOS13.1 wkwebview加载H5调用相机录相会崩溃(目前还没有解决),实在不行就升到最新版本Xcode11.1了。

    无法更新三方库,升级cocopods

    pod install 报了一大堆都的错(没细看,估计看不太懂),经验告诉我要升级cocopods了。

    // 更新cocopods
    sudo gem install cocoapods --pre
    

    一顿操作猛如虎,终于解决了更新三方库的问题。

    protobuff文件无法编译

    截屏2019-10-21下午6.55.13.png

    解决办法只能升级(其实直接安装)protobuff了,命令如下:

    brew install protobuf
    

    升级放在那儿等着就好了,升级完成了就pod install,又报错了,报错如下:

    [protoc-gen-swift: program not found or is not executable
    [Please specify a program using absolute path or make sure the program is available in your PATH system variable
    -swift_ out: protoc-gen-swift: Plugin failed with status code 1.
    

    解决办法只能升级(其实直接安装)swift-protobuf了,命令如下: swift-protobuf git地址

    brew install swift-protobuf
    

    升级放在那儿等着就好了,升级完成了就pod install,又报错了,报错如下:

    dyld: Symbol not found: __T0Bi64_WV
    Referenced from: /usr/local/bin/protoc-gen-swiftgrpc
    Expected in: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/macosx/libswiftCore.dylib
    in /usr/local/bin/protoc-gen-swiftgrpc
    --swiftgrpc_out: protoc-gen-swiftgrpc: Plugin killed by signal 6.
    
    

    网上又是一顿搜索找到相关三个帖子:

    # Error --swift_out: protoc-gen-swift: Plugin killed by signal 6.#725

    # Error --swiftgrpc_out: protoc-gen-swiftgrpc: Plugin killed by signal 6#314

    解决办法就是下载grpc-swift源码,然后照做就OK。
    Binary releases of protoc, the Protocol Buffer Compiler, are available on GitHub.

    To build the plugins, run make plugin in the main directory. This uses the Swift Package Manager to build both of the necessary plugins: protoc-gen-swift, which generates Protocol Buffer support code and protoc-gen-swiftgrpc, which generates gRPC interface code.

    To install these plugins, just copy the two executables (protoc-gen-swift and protoc-gen-swiftgrpc) that show up in the main directory into a directory that is part of your PATH environment variable.

    时间有限最后得到三个文件 protoc protoc-gen-swift protoc-gen-swiftgrpc。再pod install 就完成了。

    总结

    1.protoc 是从 /usr/local/Cellar/protobuf/3.10.0/bin 中得到。

    1. protoc-gen-swift、protoc-gen-swiftgrpc 是从下载的grpc-swift源码后顶级目录运行make plugin命令后得到。

    相关文章

      网友评论

          本文标题:iOS Swift Protobuff GRPC 小记

          本文链接:https://www.haomeiwen.com/subject/vhqxvctx.html