由于我們這邊數(shù)據(jù)的特殊性误窖,數(shù)據(jù)量大掐场、刷新頻繁等原因,于是使用到了Google得protobuf協(xié)議贩猎。
相比較于Json熊户、XML,它更小巧吭服,于是在同等網(wǎng)絡(luò)條件下嚷堡,它的傳輸速度會更快,同等量級的數(shù)據(jù)的情況下艇棕,它能為用戶省下更多的數(shù)據(jù)流量蝌戒,而且Google也為他提供了多語言的支持。
谷歌官網(wǎng) : Google Protocol Buffers
Github項目地址 : Google's protobuf
對于protobuf的協(xié)議內(nèi)容沼琉,就不多說了北苟,官網(wǎng)上對于protobuf2和protobuf3有很詳細(xì)的說明,可以去官網(wǎng)看看打瘪。詳細(xì)介紹友鼻。
這里主要是說一下如何安裝protobuf的編譯環(huán)境,能夠在iOS中使用闺骚,畢竟我們熟悉的還是OC的.h .m
彩扔,而不是Google的.proto
。
1. 首先使用brew -v
指令檢查一下你的homebrew
版本僻爽,如果沒有的話虫碉,就安裝一下:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
2.安裝幾個工具:
brew install automake
brew install libtool
brew install protobuf
3. Clone
一下Google的這個項目到你的本地 : https://github.com/google/protobuf.git
。
4. 完成后胸梆,使用python --version
指令檢查一下你的python
版本敦捧,由于我用的是python3
版本须板,跑了老半天到最后出錯了,最后還是切回python2
兢卵。
5. cd到Clone
下來的protobuf
的項目目錄逼纸,執(zhí)行 objectivec/DevTools/full_mac_build.sh
,就等著終端上一大堆的log跑吧济蝉。
6. shell
腳本跑完以后杰刽,就可以新建一個.proto
文件了,cd到這個文件所在的目錄王滤,執(zhí)行:
protoc --plugin=/usr/local/bin/protoc-gen-objc --objc_out=./ *.proto
然后你就會發(fā)現(xiàn)這個目錄下多了.h .m
兩個文件贺嫂,把它倆放到項目中即可。
7. 如果你的項目用的是ARC雁乡,當(dāng)然第喳,現(xiàn)在基本上都是ARC了,那么你就得對這個拖進項目的.m
文件設(shè)置一下踱稍,因為它還是用的MRC
曲饱。
選擇你的project文件— target—Build Phases
— Compile Sources
,找到你添加的.m
文件珠月,然后加上-fno-objc-arc
扩淀,如圖:
參考文檔: