在 Objective-C 中开发应用程序时,是否有人使用过Google 的协议缓冲区?
当前是否有任何将.proto
文件编译成 Objective-C 的项目,所有 Google 文档都只是指 Java、C++ 或 Python。
在 Objective-C 中开发应用程序时,是否有人使用过Google 的协议缓冲区?
当前是否有任何将.proto
文件编译成 Objective-C 的项目,所有 Google 文档都只是指 Java、C++ 或 Python。
我一直在研究 Cyrus 项目的一个分支。它基于 protobuf 2.3 并作为protoc
插件 ( protoc-gen-objc
) 工作,而不需要修改后的 protobuf 分发。
你可以在 GitHub 上找到它作为protobuf-obj项目。
第三方页面列出了这个Objective-C 端口。不幸的是,该项目目前似乎是空的,但无论如何看到它还是令人鼓舞的。我听说过该项目的内部传闻,但在今天之前还没有将其视为开源项目。
您可以与项目所有者(Cyrus Najmabadi)取得联系,询问此事......
(小题外话——Cyrus 在加入 Google 之前曾在微软的 C# 团队工作。)
这可能有帮助,也可能没有帮助,但Apache Thrift(最初在 Facebook 开发)支持 Cocoa,并且似乎有人试图在 iPhone 中使用它。
Thrift 正式支持更多语言。但是 Protocol Buffers 对 Stack Overflow 的兴趣是 5 倍,所以谁知道它在维护方面是否是一个很好的替代品——更不用说与您自己的项目的兼容性了!不过,也许值得考虑。
我刚刚问了一个相关问题,如果它得到好的答案,你可能会觉得有帮助:在 iPhone 上使用 Apache Thrift 是否成功?
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
我更喜欢在我的 objc 项目中使用 c++ 生成的类,效果很好。
我确实尝试了 objc PB 版本,但没有成功。