Build it!
./build.sh
什麼?看不懂?沒關系,本爺就是為了翻譯才貼上的
首先,打開終端!
brew -v
:查看你的mac裡面有沒有裝brew。brew是mac os裡面,類似於ubuntu的apt-get的功能,都可以直接在終端輸入命令然後安裝程序。-v自然就是版本version的意思
ruby -e $(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)
這一句半懂不懂,,大概就是利用curl工具訪問那個url,然後在ruby環境下載安裝brew
brew install automake
brew install libtool
brew install protobuf
就是利用brew下載安裝了。protobuf就是我們想要的,另外兩個是依賴庫
git clone https://github.com/alexeyxo/protobuf-objc.git
./build.sh
從github下載protobuf-objc這個工程,build腳本裡面做的是編譯
注意:編譯工程過程中,有可能會出現錯誤。別慌!看編譯錯誤的提示。一般錯誤只是因為環境變量和路徑沒有配置好,少了一些東西,例如少了編譯protobuf這個工程的依賴庫,按照提示添加路徑即可
有了工程以後,我們就可以開始測試一下怎麼用protobuf了
打開Xcode!新建一個工程! 然後有兩個方法把protobuf添加到你的工程裡面,一個是直接添加,一個是利用cocoapod 強烈推薦後者,因為cocoapods能夠很方便的管理第三方類庫,以後人家的工程升級了,你只需要一行 pod update 就ok~duang~
關於安裝和使用cocoapod,屬於另一個話題,看另一個博文 在Podfile添加下面這個句子
platform :ios , 6.0
pod ProtocolBuffers, ~> 1.9.7
在保存之後,到終端,cd到工程裡面,
pod install
等一會,cocoapod就會幫我們添加好,以後我們就應該打開 project的workspace,因為添加了pod作為子工程。
還沒結束 在你的工程裡面,新建一個文件夾,命名假如叫Protobuf 在這個文件夾裡面新建一個proto文件。例如要在本地儲存用戶信息,那麼就新建一個user.proto 裡面內容可以如下
package csdnblog;
message PBUser {
required string userId = 1; // 用戶ID
optional string nick = 2; // 用戶昵稱
optional string avatar = 3; // 用戶頭像
optional string password = 7;
optional string email = 8;
optional string mobile = 9; // 手機號碼
optional string qqOpenId = 10; // QQ ID
optional string sinaId = 11; // SINA UserID
optional string weixinId = 12; // WeChat UserID
}
上面這個例子包括了幾個要素。 一個是包名。包的概念在object c裡面沒有,java裡面有,c++裡面namespace也是差不多意思。 順便提一下,oc裡面一般在庫名前面添加兩個字母,起的作用差不多就是包的作用,作為類的上一層組織結構。 例如官方的NS,例如AFNetworking這種第三方類庫的AF。
回到正題。編寫pb文件,第二個要素是message 一個message就是一個整體,裡面有哪些必要的內容,哪些可選的內容。詳細的proto語法隨便一找一大把,就不啰嗦了。
寫好了proto,接下來就是編譯這個proto文件,protobuf-objc這個類庫會編譯聲稱一些源碼,是讀寫proto數據的接口API。 編譯命令如下: 先打開工程,建議單獨新建一個文件夾作為輸出路徑,例如工程下新建文件夾Gen,用來放generate出來的.pb.h文件&&.pb.m文件 打開終端 cd到工程路徑下
protoc --plugin=/usr/local/bin/protoc-gen-objc person.proto --objc_out=./Gen