2014-08-27 56 views
1

目標:

我正在尋找一種方法來實現使用xcode作爲我的IDE的協議緩衝區(由谷歌)到iPhone應用程序。 https://code.google.com/p/protobuf/如何編譯iphone的cpp協議緩衝區的簡約庫?

背景:

只有C++,Java和Python的是由谷歌直接支持。

ObjC第三方項目的開發似乎在幾年前停止。 https://code.google.com/p/protobuf-objc/

當協議緩衝區和iphone搜索我經常發現在C#中兩個第三方項目兩個引用:

一個由馬克Gravell:https://code.google.com/p/protobuf-net/

和一個由喬納森雙向飛碟:https://code.google.com/p/protobuf-csharp-port/

(我不知道是否或如何,他們都在Xcode使用,並張貼在這個問題:https://stackoverflow.com/questions/25524852/can-i-use-protobuf-net-or-protobuf-csharp-port-with-xcode

情況:

Bennett Smith對iphone開發的另一個有趣的方法是「簡單地」使用Google C++源代碼https://gist.github.com/BennettSmith/7150245)。 (btw真棒!)腳本工作得非常好,併產生了兩個庫:一個普通的和一個精簡的。

讓我好奇的是這些庫(.a文件)的大小。包括所有版本(x86_64_mac,i386_ios_sim,armv7,armv7s,arm64),常規庫的大小接近89 MB,並且生命庫的大小仍然大於8 MB。

問題:

1.)爲什麼這些文件很大?據我所知,用於android實現protobuf的lite庫接近100 KB,Marc Gravell提供的iPhone庫(見上文)也接近100 KB。

我試圖通過不包括x86_64_mac和i386_ios_sim(將腳本中提供的控件設置爲0)來減小大小,但腳本以不留下任何文件的錯誤結束。 (當只消除i386_ios_sim它似乎工作,但減少大小隻有6-7 MB。) 2)有誰知道如何配置腳本,只包括iPhone的構建?

3.)我怎樣才能進一步減小這種C++庫的大小(或者至少是合理的)?有沒有人建議如何將Google cpp文件剝離爲「簡約」構建和編譯庫?到目前爲止,我只找到一個鏈接,建議刪除編譯器和unittest文件。 (http://rxwen.blogspot.de/2011/11/use-protobuf-on-iphone-app.html),但不幸的是我還沒有看到有關其他文件的相關性的任何討論。

4.)(獎金:)當使用這個C++庫時,我將不得不使用包裝器對象。雖然我在網上發現了關於此的一般性文章,但是有人知道我可以看一看protobufs的解決方案嗎?

回答