热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

使用Objective-C中的协议缓冲区-UsingProtocolBufferswithObjective-C

HasanyoneusedGooglesProtocolBufferswhendevelopingapplicationsinObjective-C?在Objective-C中

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

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

目前是否有将.proto文件编译为Objective-C的项目,所有的谷歌文档都只是指Java、c++或Python。

5 个解决方案

#1


15  

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.

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

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

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

#2


4  

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.

第三方页面列出了这个Objective-C端口。不幸的是,目前这个项目似乎是空的,但无论如何,看到它是令人鼓舞的。我听到了关于这个项目的内部传言,但是在今天之前我还没有把它看作一个开源项目。

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

你可以联系项目负责人(Cyrus Najmabadi)问一下这个问题……

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

(在加入谷歌之前,赛勒斯曾在微软的c#团队工作过。)

#3


2  

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.

这可能有用,也可能没有用,但是Apache Thrift(最初是在Facebook开发的)支持Cocoa,并且似乎有人试图在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.

储蓄机构正式支持更多的语言。但是协议缓冲区有5倍于栈溢出的兴趣,所以谁知道在维护方面它是否是一个好的替代呢——更不用说与您自己的项目的兼容性了!不过,这或许值得考虑。

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

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

#4


1  

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

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

I did try the objc PB version but without success.

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

#5


1  

Protocol Buffers v3 supports Objective-C

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

协议缓冲区v3支持Objective-C作为第一类语言。

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

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

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

推荐阅读
  • [转载]从零开始学习OpenGL ES之四 – 光效
    继续我们的iPhoneOpenGLES之旅,我们将讨论光效。目前,我们没有加入任何光效。幸运的是,OpenGL在没有设置光效的情况下仍然可 ... [详细]
  • 使用圣杯布局模式实现网站首页的内容布局
    本文介绍了使用圣杯布局模式实现网站首页的内容布局的方法,包括HTML部分代码和实例。同时还提供了公司新闻、最新产品、关于我们、联系我们等页面的布局示例。商品展示区包括了车里子和农家生态土鸡蛋等产品的价格信息。 ... [详细]
  • Java太阳系小游戏分析和源码详解
    本文介绍了一个基于Java的太阳系小游戏的分析和源码详解。通过对面向对象的知识的学习和实践,作者实现了太阳系各行星绕太阳转的效果。文章详细介绍了游戏的设计思路和源码结构,包括工具类、常量、图片加载、面板等。通过这个小游戏的制作,读者可以巩固和应用所学的知识,如类的继承、方法的重载与重写、多态和封装等。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • iOS超签签名服务器搭建及其优劣势
    本文介绍了搭建iOS超签签名服务器的原因和优势,包括不掉签、用户可以直接安装不需要信任、体验好等。同时也提到了超签的劣势,即一个证书只能安装100个,成本较高。文章还详细介绍了超签的实现原理,包括用户请求服务器安装mobileconfig文件、服务器调用苹果接口添加udid等步骤。最后,还提到了生成mobileconfig文件和导出AppleWorldwideDeveloperRelationsCertificationAuthority证书的方法。 ... [详细]
  • 本文讨论了如何使用GStreamer来删除H264格式视频文件中的中间部分,而不需要进行重编码。作者提出了使用gst_element_seek(...)函数来实现这个目标的思路,并提到遇到了一个解决不了的BUG。文章还列举了8个解决方案,希望能够得到更好的思路。 ... [详细]
  • 本文介绍了在PostgreSQL中批量导入数据时的优化方法。包括使用unlogged表、删除重建索引、删除重建外键、禁用触发器、使用COPY方法、批量插入等。同时还提到了一些参数优化的注意事项,如设置effective_cache_size、shared_buffer等,并强调了在导入大量数据后使用analyze命令重新收集统计信息的重要性。 ... [详细]
  • 流数据流和IO流的使用及应用
    本文介绍了流数据流和IO流的基本概念和用法,包括输入流、输出流、字节流、字符流、缓冲区等。同时还介绍了异常处理和常用的流类,如FileReader、FileWriter、FileInputStream、FileOutputStream、OutputStreamWriter、InputStreamReader、BufferedReader、BufferedWriter等。此外,还介绍了系统流和标准流的使用。 ... [详细]
  • 我用Tkinter制作了一个图形用户界面,有两个主按钮:“开始”和“停止”。请您就如何使用“停止”按钮终止“开始”按钮为以下代码调用的已运行功能提供建议 ... [详细]
  • 该楼层疑似违规已被系统折叠隐藏此楼查看此楼*madebyebhrz*#include#include#include#include#include#include#include ... [详细]
  • Python如何调用类里面的方法
    本文介绍了在Python中调用同一个类中的方法需要加上self参数,并且规范写法要求每个函数的第一个参数都为self。同时还介绍了如何调用另一个类中的方法。详细内容请阅读剩余部分。 ... [详细]
  • 本文介绍了C++中省略号类型和参数个数不确定函数参数的使用方法,并提供了一个范例。通过宏定义的方式,可以方便地处理不定参数的情况。文章中给出了具体的代码实现,并对代码进行了解释和说明。这对于需要处理不定参数的情况的程序员来说,是一个很有用的参考资料。 ... [详细]
  • 本文介绍了使用C++Builder实现获取USB优盘序列号的方法,包括相关的代码和说明。通过该方法,可以获取指定盘符的USB优盘序列号,并将其存放在缓冲中。该方法可以在Windows系统中有效地获取USB优盘序列号,并且适用于C++Builder开发环境。 ... [详细]
  • 设备模型三(潜谈sysfs)
    前言引出一个问题:假设sysaxx,xx是kobja的属性文件,当对xx进行写操作时,即echo‘1’sysaxx实际上,调用了kobja的ktype中定义的接口函 ... [详细]
author-avatar
qingheqianyenft
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有