SilverProtoBuffer 1.0.4

SilverProtoBuffer 1.0.4

测试已测试
Lang语言 Obj-CObjective C
许可证 MIT
发布最新发布2017年5月

silver6wings维护。



  • 作者:
  • silver6wings

SilverProtobuffer

Google Protocol Buffer v2.6 API自动打包器

背景

待办事项

优点

使用AFNetworking调用API

使用SILManager

使用Python-packer

如何使用

  • 步骤1:准备包含API规范定义的.json文件以及包含API规范所需要protobuf消息的.proto文件。将它们全部放入/python-packer/input。
  • 步骤2:执行python main.py生成所需代码。如果遇到错误,请修复它们并重试。
  • 步骤3:将iOS或Android SDK文件导入到您的项目中。
  • 步骤4:如果您的iOS项目默认设置为ARC,则需要将“MRC标志"-fno-objc-arc"添加到您的构建目标中的*.pbobjc.m,因为由protobuf生成的文件默认为MRC。
  • 步骤5:将生成的代码放入您的项目中。
  • 步骤6:完成!现在尝试在代码中调用方法以从您定义的API请求数据。

项目包含

  • java-android
    • Http API 请求 Android 框架
    • Silver ProtoBuffer用法演示
  • objc-ios
    • Http API 请求 iOS 框架
    • Silver ProtoBuffer用法演示
  • python-packer
    • API打包Python脚本
    • 输入容器
    • 输出演示
  • server-sample
    • 基于Spring Boot框架的服务器示例代码,可用于上述演示

注意

  • iOS部分
    • 待办事项前缀
    • 待办事项id

备注

  • iOS SDK
    • 请求部分基于AFNetworking,但由于AFNetworking只支持发送NSDictionary作为参数,因此我对其进行了一些修改,以支持发送序列化的protobuf二进制数据。
  • Android SDK
    • 基于AsyncHttp,因为AsyncHttp不支持缓存,所以目前还没有添加缓存相关功能。
  • 对于打包器
    • 有一些代码用于移除和添加“objc_class_prefix”。因为Google Protobuf 2编译器不支持iOS前缀,但在Google Protobuf 3中支持。
    • 需要在brew中安装protobuf和[email protected]。因为在brew的protobuf 3.x环境下生成的.java文件无法集成到protobuf 2.x项目中,因此有一些代码执行链接和取消链接操作。
    • 当前不支持在.proto文件中使用“导入”功能,因此需要修复由生成的文件引起的构建中断问题。

发现的问题

  • Protobuf导入语法支持

版本

2017年4月

  • 发布iOS框架

关于

电子邮件: [email protected]

由Junchao/silver6wings编写