使用带有Objective-C的Protocol Buffers

时间:2009-10-21 15:30:14

标签: objective-c xcode protocol-buffers

在Objective-C中开发应用程序时有没有人使用Google's Protocol Buffers

目前有没有将.proto文件编译成Objective-C的项目,所有Google文档都只是引用Java,C ++或Python。

5 个答案:

答案 0 :(得分:15)

我一直在研究Cyrus的项目。它基于protobuf 2.3并作为protoc插件(protoc-gen-objc)使用,而不需要修改的protobuf分发。

您可以在GitHub上找到它作为protobuf-obj项目。

答案 1 :(得分:4)

Third Party页面列出this Objective-C port。不幸的是,该项目目前似乎是空的,但无论如何看到它是令人鼓舞的。我听过有关该项目的内部谣言,但在今天之前没有将其视为一个开源项目。

您可以与项目业主(Cyrus Najmabadi)联系,询问相关信息......

(小琐事 - 在加入Google之前,Cyrus曾经在微软的C#团队工作过。)

答案 2 :(得分:2)

这可能有用,也可能没用,但Apache Thrift(最初在Facebook开发)支持Cocoa,似乎有人试图在iPhone中使用它。

Thrift正式支持更多语言。但是协议缓冲区有5倍的Stack Overflow兴趣,所以谁知道它在维护方面是否是一个很好的替代品 - 更不用说与你自己的项目的兼容性了!不过,也许值得考虑。

我刚问了一个相关的问题,如果得到了很好的答案,你可能会觉得有用:Any success using Apache Thrift on iPhone?

答案 3 :(得分:2)

Protocol Buffers v3支持Objective-C

Protocol Buffers v3 supports Objective-C作为一流语言。

要从.proto文件生成Objective-C代码,请使用objc_out选项调用编译器:

 protoc --proto_path=src --objc_out=build/gen src/foo.proto src/bar/baz.proto 

答案 4 :(得分:1)

我更喜欢在我的objc项目中使用c ++生成的类,工作得很好。

我确实尝试过objc PB版但没有成功。