你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> iOS中從零開始使用protobuf

iOS中從零開始使用protobuf

編輯:IOS開發綜合
 
在github上有protobuf-objc,其中的readme可以教會我們安裝proto到咱們電腦裡面。然後利用protoc,也就是protobuf的編譯器可以編譯.proto文件,生成一些.h和.m文件。 在移動App中,使用protobuffer可以做儲存,可以做網絡傳輸,可以干很多和數據打交道的事情。 最簡單的,加入做一個APP,你要記錄用戶數據對吧?用戶賬號是?密碼是?性別是?有沒有女朋友? 為了記錄這些數據到服務器,就需要合適的數據結構。有人說,為什麼一定要用protobuf?為什麼不用其他的如json?如xml?關於這個問題,請到stackoverflow,csdn等格調甚高的地方去尋找,去發現。。我要用的原因,就是我需要用,不用就會落後,就會挨打。。
首先是怎麼安裝protobuf這個工程。 (摘抄一段來自https://github.com/alexeyxo/protobuf-objc的文檔)

How To Install Protobuf

Building the Objective-C Protobuf compiler

  1. Check if you have Homebrew
    brew -v
  2. If you don't already have Homebrew, then install it
    ruby -e $(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)
  3. Install the main Protobuf compiler and required tools
    brew install automake
    brew install libtool
    brew install protobuf
  4. (optional) Create a symlink to your Protobuf compiler.
    ln -s /usr/local/Cellar/protobuf/2.6.1/bin/protoc /usr/local/bin
  5. Clone this repository.
    git clone https://github.com/alexeyxo/protobuf-objc.git
  6. 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
     
     
  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved