Quaderno 2.0.0

Quaderno 2.0.0

测试已测试
Lang语言 SwiftSwift
许可证 MIT
Released最新版本2017年4月
SwiftSwift 版本3.0
SPM支持 SPM

Eliezer Talón 维护。



Quaderno 2.0.0

Quaderno

Quaderno 是一个 Swift 框架,它提供了访问 Quaderno API 的简单方法。

为什么使用它?

您可以为 Quaderno API 实现自己的客户端。然而,使用 quaderno-swift 可以让您立即访问相同的界面,而不必处理 HTTP 请求和响应的细节。

注意,您需要有效的账户才能使用 Quaderno。

支持的 OS & SDK 版本

  • 支持的构建目标 - iOS 10.x, macOS 10.12
  • 最早的受支持部署目标 - iOS 9.0, macOS 10.11
  • 最早的兼容部署目标 - iOS 9.0, macOS 10.11

“受支持的” 意味着库已经使用此版本进行了测试。‘兼容的’ 意味着库应该在该 OS 版本上运行(即,它不依赖于任何不可用的 SDK 功能),但不再进行兼容性测试,可能需要调整或修复错误才能正确运行。

安装

如果您正在使用 CocoaPods,请将 Quaderno 添加到您的 Podfile 中

pod "Quaderno", "~> 2.0"

或者如果您正在使用 Carthage,请添加到您的 Cartfile 中

github "Quaderno/Quaderno" "~> 2.0"

否则只需将 .swift 源文件拖动到 目录下的项目中。

嵌入式框架需要一个最低的部署目标为 iOS 8。

如果要使用不支持嵌入式框架的应用程序目标,例如 iOS 7,则必须直接在您的项目中包含所有源文件。

用法

为了发出请求,您需要至少实例化一个 Client 对象,提供基本 URL 以构建资源路径和您的身份验证令牌

let client = Client(baseURL: "https://quadernoapp.io/api/v1/", authenticationToken: "your token")

所有请求都是异步进行的,如 Alamofire 的 README 中所述。

导入模块

就像包含任何 Swift 模块一样导入 Quaderno 模块

import Quaderno

检查服务可用性

您可以ping服务来检查其是否可用

let client = Client(baseURL: "https://quadernoapp.io/api/v1/", authenticationToken: "your token")
client.ping { error in
  // error will be nil if the service is available.
}

获取账户凭证

您可以获取指定用户的账户凭证

let client = Client(baseURL: "https://quadernoapp.io/api/v1/", authenticationToken: "your token")
client.account { result in
  // result will contain either an error or a JSON object with the account information.
}

关于Quaderno API的更多详细信息,请参阅“授权”部分

请求资源

您可以通过使用send(_:completion)函数请求任何受支持的资源

let client = Client(baseURL: "https://quadernoapp.io/api/v1/", authenticationToken: "your token")

let request = Contact.request(.read(48))
client.send(request) { response in
  // response will contain either an error or the response to the request.
}

第一个参数必须是一个符合Request协议的对象。

为了方便,Quaderno已经提供了一系列默认资源(如ContactResourceInvoiceResource等),它们均遵循Request协议并提供了常见行为(如CRUDResourceDeliverableResource等)的请求。有关更多详细信息,请查阅Resource协议。

第二个参数是一个闭包,它接收一个泛型Response作为唯一参数。响应的类型在编译时根据提供的类型进行推断。Quaderno会尝试将服务器收到的响应转换为指定的类型。

let client = Client(baseURL: "https://quadernoapp.io/api/v1/", authenticationToken: "your token")

let request = Contact.request(.read(48))
client.send(request) { (response: Response<[String: Any]>) in
  // response will contain either an error or a dictionary.
}

连接权限

您可以通过检查Cliententitlements属性来查看使用服务的权限(例如速率限制)。

有关更多详细信息,请参阅Client.Entitlements结构体。

持久化

Quaderno不会自动为您持久化对象。

开发

入门

Quaderno使用Carthage来管理依赖项。查看CartfileCartfile.private以查看当前依赖项。

在克隆此存储库后,请运行以下命令

carthage bootstrap

项目结构

项目的入口点是Quaderno.xcodeproj文件,其中包含两个目标及其测试对应的对象

  1. Quaderno iOS,用于在iOS平台上构建。
  2. Quaderno macOS,用于在macOS平台上构建。

文档

源代码完全使用Apple定义的标记格式命令进行了注释。

更多信息

请记住,这只是一个原始API的Swift封装。如果您需要有关原始API的更多信息,请访问原始的API文档

行为准则

请注意,该项目遵循由contributor-covenant.org定义的捐助者行为准则。通过参与此项目,您同意遵守其条款。

鸣谢

Quaderno最初由Eliezer Talón开发。

联系

在Twitter上关注Quaderno(@quadernoapp)。

许可证

Quaderno遵循MIT许可证发布。请参阅LICENSE.txt