iOS Protobuf3.3安裝與使用

使用Protobuf是因?yàn)槠湫阅芎?,效率高。具體介紹可以參考谷歌官方文檔https://developers.google.com/protocol-buffers/。
下面介紹如何安裝使用Protobuf3.0及以上版本,編譯生成OC代碼,并在工程中正確使用。

安裝Protobuf

從GitHub下載代碼。https://github.com/google/protobuf。
直接clone就是最新的代碼。當(dāng)然也可以在clone時(shí)指定自己需要的版本。本文使用的是最新的代碼,即Protobuf3.3.0。
下載完成后,使用終端,切換至protobuf所在的文件路徑。
安裝前需要先確認(rèn)自己的MAC安裝了autoconf和automake。如果沒有安裝可以直接通過命令行brew install autoconf以及brew install automake進(jìn)行安裝。其中brew是指HomeBrew,如果MAC沒有安裝HomeBrew,可以通過命令行/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"進(jìn)行安裝。
準(zhǔn)備工作進(jìn)行完后,就開始安裝Protobuf。
還是先確認(rèn)在Protobuf所在的文件目錄下。然后按步驟執(zhí)行* sudo ./autogen.sh

  • ./configure
  • make
  • make install
    此時(shí)protobuf就安裝成功了。執(zhí)行protocbuf --version就可以看到安裝的版本號了。

編譯生成OC代碼

創(chuàng)建proto文件。此處使用最簡單的例子。創(chuàng)建User.proto。里面的內(nèi)容是

syntax = "proto3";

message UserInfo {
  required int64 id = 1;
  required string name = 2;
}

然后使用終端切換到User.proto所在的文件夾路徑。執(zhí)行命令protocbuf User.proto --objc_out=./。以上是最簡單的生成OC代碼的命令。執(zhí)行完成后,會(huì)在當(dāng)前文件夾生成User.pbobjc.h和User.pbobjc.m兩個(gè)文件。到此生成OC代碼的工作也完成了。

工程中使用生成的代碼

在生成.h和.m文件后,把它們引入到自己的工程,如果此時(shí)直接編譯會(huì)報(bào)錯(cuò),原因是沒有引入PB的文件。解決方法有兩個(gè):

  • 使用Cocoapod,在podfile中添加pod 'Protobuf'注意大小寫。然后pod install再編譯就可以了。這個(gè)方法簡單方便。
  • 如果不適用pod管理,就要把PB需要的文件手動(dòng)引入到工程。具體文件在第一步Colne的protobuf/objectivec文件夾里面。而且還得注意如果工程是ARC時(shí),要把部分PB文件置為-fno-objc-arc。具體設(shè)置參考GitHub文檔https://github.com/google/protobuf/tree/master/objectivec

此時(shí)再次編譯就OK了。使用方法也很簡單

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

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

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