Using Protocol Buffers with Objective-C

試著忘記壹切 提交于 2019-11-29 00:28:20

问题


Has anyone used Google's Protocol Buffers when developing applications in Objective-C?

Are there any current projects for compiling .proto files into Objective-C, all the Google docs simply refer to Java, C++ or Python.


回答1:


I've been working on an fork of Cyrus' project. It's based on protobuf 2.3 and works as a protoc plugin (protoc-gen-objc) instead of requiring a modified protobuf distribution.

You can find it as the protobuf-obj project on GitHub.




回答2:


The Third Party page lists this Objective-C port. Unfortunately the project appears to be empty at the moment, but it's encouraging to see it anyway. I had heard internal rumours of the project, but hadn't seen it as an open source project before today.

You could get in touch with the project owner (Cyrus Najmabadi) to ask about it though...

(Small piece of trivia - Cyrus used to work on the C# team in Microsoft before he joined Google.)




回答3:


This may or may not be helpful, but Apache Thrift (originally developed at Facebook) supports Cocoa, and seems to have people attempting to use it in the iPhone.

Thrift officially supports more languages. But Protocol Buffers have 5x the Stack Overflow interest, so who knows if it's a good replacement in terms of maintenance—not to mention compatibility with your own project! Still, maybe it's worth consideration.

I just asked a related question you may find helpful if it gets good answers: Any success using Apache Thrift on iPhone?




回答4:


Protocol Buffers v3 supports Objective-C

Protocol Buffers v3 supports Objective-C as a first class language.

To generate Objective-C code from a .proto file call the compiler with the objc_out option:

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



回答5:


I prefer to use c++ generated classes within my objc projects, works just fine.

I did try the objc PB version but without success.



来源:https://stackoverflow.com/questions/1601656/using-protocol-buffers-with-objective-c

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!