由于brew install protobuf安装的protoc不支持object-c, 所以手动编译。
先把代码下载下来,并按照步骤编译:
https://github.com/mingchen/protobuf-ios
make的时候遇到几个错误:
google/protobuf/message.cc:135:67: error: implicit instantiation of undefined template 。。。。
解决办法:
找到文件src/google/protobuf/message.cc 在文件的第一个#include之上的一行,加入
#include <istream>
继续运行make ,即成功通过。
make install之后,在命令行中输入protoc --viersion
输出:libprotoc 2.2.0
版本有点老,自己选个新的版本。
(TODO:据说2.5.0之后的不支持object-c,回头检验一下)。
演示:protoc --objc_out=. offline_map.proto
然后会在当前目录下生成一个 .h和.m文件