Using Protocol Buffers with Objective-C

前端 未结 5 858
梦谈多话
梦谈多话 2020-12-28 18:46

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

Are there any current projects for compiling .proto files into O

相关标签:
5条回答
  • 2020-12-28 19:17

    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 
    
    0 讨论(0)
  • 2020-12-28 19:21

    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.)

    0 讨论(0)
  • 2020-12-28 19:24

    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.

    0 讨论(0)
  • 2020-12-28 19:29

    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?

    0 讨论(0)
  • 2020-12-28 19:31

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

    I did try the objc PB version but without success.

    0 讨论(0)
提交回复
热议问题