你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> iOS之ProtocolBuffer搭建和示例demo

iOS之ProtocolBuffer搭建和示例demo

編輯:IOS開發綜合

     這次搭建IOS的ProtocolBuffer編譯器和把*.proto源文件編譯成*.pbobjc.h 和 *.pbobjc.m文件時,碰到不少問題!

搭建pb編譯器到時沒有什麼問題,只是在把*.proto文件編譯出來後,我用cocoaPods集成ProtocolBuffers到自己項目,

cocoaPods集成的時分,我嘗試了兩個庫,一個是:

https://github.com/google/protobuf.git,

另外一個是:

https://github.com/alexeyxo/protobuf-objc.git

但是運轉時都不斷報錯經過:

一會報ProtocolBuffer庫文件找不到;

一會報版本不對:This file was generated by a different version of protoc which is incompatible with your Protocol Buffer library sources ;

一會報屬性數據格式不存在,不婚配。

 

   最後不得已只好保持CocoaPods, 直接把從https://github.com/google/protobuf下載上去的庫拖進工程外面,這樣才OK了!

復雜說下我這邊pb編譯器的裝置進程,和編譯後的運用demo:

 

一、環境裝置:pb編譯器的裝置

     1、從https://github.com/google/protobuf/releases下載protocolBuffer對應版本編譯器包,比方目前的對應的objc最新版本

    下載地址為:https://github.com/google/protobuf/releases/download/v3.1.0/protobuf-objectivec-3.1.0.zip


  2、解壓包,假定解壓後的文件夾名為: protobuf-objectivec-3.1.0,
    翻開終端,進入文件夾protobuf-objectivec-3.1.0, 順次執行以下命令:

./configure
make
make check
sudo make install

  假如編譯順利的話,便可以運用protoc命令了,當前便可以用這個命令將.proto文件轉換為不同言語的源代碼文件。

 

二、創立新項目,導入pb庫,編寫proto文件編譯,運用進程

      1、從https://github.com/google/protobuf.git下載源碼,解壓,外面有支持不同言語的版根源碼,

  我們只需求外面的支持objc的文件夾名為:objectivec,如圖:

  

 

  2、新建一個工程命名為Tan_ProtocolBuffer,創立一個文件夾,假定命名為:protocolbuf, 把第一步的pb源碼復制到此文件夾中:

  

 

  3、運用Xcode翻開工程,點擊左下角“+”, 援用protocolBuffer源文件到工程中

      

   

  4、選中工程: targets —>  Build Phases  —>  Link Binary With Libraries, 援用源碼靜態庫文件:libProtocolBuffers.a

  

 

  5、在工程設置搜索靜態庫的頭文件(pb文件在protocolbuf文件夾外面):

   targets —>  Build Setting  —>  Search Paths  —> Header Search Paths, 寫入:$(PROJECT)/protocolbuf 

  

 

  

  6、編寫測試文件*.proto,比方新建一個文件Person.proto, 依照官方規范語法https://developers.google.com/protocol-buffers/ 編寫通用代碼,
  寫好後在終端進入該Person.proto文件所在目錄,運用protoc命令:protoc *.proto --objc_out=../Pro_out 停止編譯。
  把Person.proto文件編譯成Person.pbobjc.h和Person.pbobjc.m, 生成的文件在Pro_out文件夾外面。
  假如Person.proto源文件有語法問題,編譯時會報錯;當編譯時什麼提示都沒有,表示編譯成功:
  將編譯好的*.pbobjc.h和*.pbobjc.m拖入工程中,由於不支持arc, 所以需求在*.pbobjc.m設置-fno-objc-arc, 然後就可以運用了。

  截圖如下:  

    

 

    

 

           

 

   

 

     

 

 

  7、編寫測試代碼,運用Person類停止數據序列化和反序列:

  

示例demo下載地址:https://github.com/xiaotanit/Tan_ProtocolBuffer

 

原文鏈接:http://www.cnblogs.com/tandaxia/p/6181534.html 

【iOS之ProtocolBuffer搭建和示例demo】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved