Mac OS下安装ProtocolBuffer与iOS的简单使用

23 篇文章 0 订阅
11 篇文章 0 订阅

版权归Aaidong所有〜转载需声名〜  原贴地地址:http://blog.csdn.net/aaidong/article/details/44678045


首先是怎么安装Protobuf。 来自https://github.com/alexeyxo/protobuf-objc的文档。

打开终端!

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
建议先去Homebrew官网找最新的下载地址
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脚本里面做的是编译。
我建议不要用 ./build.sh ,我安装过程中发现未知错误最终没有进行下去。哎,好失败。懂脚本的朋友可以尝试下。

到此,我们先得感谢 http://www.2cto.com/kf/201503/382440.html的文章作者。点开链接的朋友会发现,这都什么吗,明显照抄人家的。。。 尴尬
我只能说,该作者前半部分解释的非常好,我是超越不了了,只能完全借用了。其实说白了,就是懒。言归正传:
当我们 git clone https://github.com/alexeyxo/protobuf-objc.git 完成后,

cd ~/protobuf-objc
./autogen.sh
./configure


~/protobuf-objc其实就是刚刚clone的文件目录
进行./configure 可能会报错,不过别着急,先分析错误信息
configure: error: 
ERROR: protobuf headers are required.
You must either install protobuf from google,
or if you have it installed in a custom location
you must add '-Iincludedir' to CXXFLAGS
and '-Llibdir' to LDFLAGS.
If you did not specify a prefix when installing
protobuf, try
  ' ./configure CXXFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib'
In some 64-bit environments, try LDFLAGS=-L/usr/local/lib64.

仔细看,不难发现终端给出了解决办法,我想这应该是跟系统是不是64位有关吧(个人猜测)。

./configure CXXFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib

运行通过后,

make
make install


最终生成的插件名字为protoc-gen-objc,会被安装到/usr/local/bin/目录下。
你可以 

cd /usr/local/bin/ 
ls -a


按照我的方法,肯定能看见protoc-gen-objc。

一切准备就绪,我们来测试下。
在桌面创建一个 ProtoBuf的文件夹。然后
cd ~/Desktop/ProtoBuf
touch person.proto
vi person.proto


就按ProtocolBuffer的语法规则简单建立一个.proto的文件

package csdnblog;
message PBUser {
required string userId = 1;
optional string nick = 2;
optional string avatar = 3;
}


创建完毕后,我们来编译这个person.proto文件。cd到ProtoBuf的文件夹后,命令如下:

protoc --plugin=/usr/local/bin/protoc-gen-objc person.proto --objc_out=./

protoc会自动在/usr/local/bin/目录下寻找名为”protoc-gen-objc”的插件,并使用该插件编译.proto文件,最终生成两个文件:

Person.pb.h
Person.pb.m

这个步骤通过后,说明ProtocoBuffer Compiler for Objective-C可以正常工作了。

现在我们可以在Xcode中使用ProtocolBuffer

打开Xcode!新建一个ProtoBuffer工程! 然后有两个方法把protobuf添加到你的工程里面,一个是直接添加,一个是利用CocoaPods 强烈推荐后者,因为cocoapods能够很方便管理第三方类库,以后人家的工程升级了,你只需要一行 pod update 就ok了。顺便打个广告:CocoaPods的强大,不用不知道,一用吓一跳惊讶

关于安装和使用cocoapods,属于另一个话题,看另一个博文。
我的cocoapods 版本是0.36  我的Podfile文件如下:

source 'https://gitcafe.com/akuandev/Specs.git'

# platform :ios, '7.0'

target "ProtoBuffer" do

    pod "ProtocolBuffers", "~> 1.9.7"

end

在保存之后,到终端,cd到工程里面,
pod install

完成后,将前面编译的 Person.pb.h和Person.pb.m导入工程中,到此你就可以使用了。

提示:~/protobuf-objc文件里有一个 iOS的栗子哦,有兴趣的朋友可以研究下哦。奋斗


注:“source 'https://gitcafe.com/akuandev/Specs.git'”  我这个cocoapods使用了一个叫akinliu在gitcafe上建立的CocoaPods索引库的镜像。因为gitcafe是国内的服务器,所以会快很多。
如下操作可以将CocoaPods设置成使用gitcafe镜像:

pod repo remove master
pod repo add master https://gitcafe.com/akuandev/Specs.git
pod repo update


本文借鉴了以下两篇博文,非常感谢他们的分享。希望大家可以参考一下:
http://www.2cto.com/kf/201503/382440.html
http://www.cnblogs.com/tara/archive/2012/03/20/2407951.html


最后,谢谢浏览!如果你有什么发现或者建议、意见或者...都可以发邮件至:zh75701.aidong@qq.com 我们可以共同交流和学习下!
希望可以对大家有点帮助。。。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值