Swift5 protobuf編譯和使用

安裝環(huán)境

  1. Ruby MAC_Ruby 安裝 - 簡書
  2. Brew Mac安裝brew - 簡書

安裝 protobuf , 注意: protobuf必須是最新版本,如果已經(jīng)安裝了, 則需要升級版本

安裝版本:$ brew install protobuf
升級版本:$ brew upgrade protobuf
查看版本:$ protoc —version

安裝蘋果提供的swiftProtobuf

網(wǎng)上教程大部分都是第三方的swiftProtobuf, 蘋果出了swift4之后官方出了protobuf轉(zhuǎn)swift的. 區(qū)別就是三方那個不支持Any. 蘋果給提供的只支持Swift4.0 以后版本
GitHub - apple/swift-protobuf: Plugin and runtime library for using protobuf with Swift

通過終端把項目 clone下來 (默認(rèn)克隆在終端當(dāng)前位置)
$ git clone https://github.com/apple/swift-protobuf.git
$ cd swift-protobuf

克隆好后,查看版本列表 (重要)不同版本的pb可能不通用
截止目前2023年2月23日 最新版本是 1.21.0
$ git tag -l   

選擇我們需要的版本檢出編譯使用, 最新的 1.21.0
$ git checkout tags/1.21.0

編譯文件

通過命令行編譯: 
$ swift build -c release 

build以后會生成一個可執(zhí)行文件(路徑): swift-protobuf/.build/release/protoc-gen-swift

將protoc-gen-swift 復(fù)制到usr/local/bin 下, 如果以前安裝過第三方的那個proto-swift 這路徑下會有個替身, 那么就把他刪掉! 替換為剛剛生成的可執(zhí)行文件.

sudo mv .build/release/protoc-gen-swift /usr/local/bin

如果用homebrew安裝,應(yīng)該在這個位置

sudo mv .build/release/protoc-gen-swift  opt/homebrew/bin

查看安裝位置

which protoc

pb文件編譯成proto

生成第一份pb文件, 注意要轉(zhuǎn)換成ascii格式

syntax = “proto3”;

message BookInfo {
   int64 id = 1;
   string title = 2;
   string author = 3;
}

開始編譯

$ protoc --swift_out=. my.proto

編譯全部

$ protoc --swift_out=. *

修改文件權(quán)限

如果要將swift的類關(guān)鍵字改為public,需要做如下修改,然后重新編譯 swift-protobuf/Sources/protoc-gen-swift/GeneratorOptions.swift


修改為public.jpg
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容