17

在 Objective-C 中开发应用程序时,是否有人使用过Google 的协议缓冲区?

当前是否有任何将.proto文件编译成 Objective-C 的项目,所有 Google 文档都只是指 Java、C++ 或 Python。

4

5 回答 5

15

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

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

于 2010-10-12T18:09:53.603 回答
4

第三方页面列出了这个Objective-C 端口。不幸的是,该项目目前似乎是空的,但无论如何看到它还是令人鼓舞的。我听说过该项目的内部传闻,但在今天之前还没有将其视为开源项目。

您可以与项目所有者(Cyrus Najmabadi)取得联系,询问此事......

(小题外话——Cyrus 在加入 Google 之前曾在微软的 C# 团队工作。)

于 2009-10-21T15:40:38.523 回答
2

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

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

我刚刚问了一个相关问题,如果它得到好的答案,你可能会觉得有帮助:在 iPhone 上使用 Apache Thrift 是否成功?

于 2009-12-11T18:21:42.187 回答
2

Protocol Buffers v3 支持 Objective-C

Protocol Buffers v3支持将 Objective-C作为第一类语言。

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

 protoc --proto_path=src --objc_out=build/gen src/foo.proto src/bar/baz.proto 
于 2018-02-24T10:01:57.743 回答
1

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

我确实尝试了 objc PB 版本,但没有成功。

于 2013-01-14T15:50:58.060 回答