SILProtoBuffer 1.0.5

SILProtoBuffer 1.0.5

测试已测试
语言语言 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,您需要向您的构建目标中的 *.pbobjc.m 添加 MRC 标志 "-fno-objc-arc",因为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以及[邮箱保护]。因为在brew的protobuf 3.x环境中生成的.java文件不能集成到protobuf 2.x项目中,因此需要做一些链接和解链接的代码。
    • 当前不支持.proto文件中的"import"指令,所以需要在生成的文件中修复一些构建中断的问题。

发现的问题

  • Protobuf导入语法支持

版本

2017年4月

  • 发布iOS框架

关于

电子邮箱: [邮箱保护]

由Junchao/silver6wings撰写