测试已测试 | ✓ |
Lang语言 | SwiftSwift |
许可证 | MIT |
Released最新版本 | 2017年4月 |
SwiftSwift 版本 | 3.0 |
SPM支持 SPM | ✗ |
由 Eliezer Talón 维护。
Quaderno 是一个 Swift 框架,它提供了访问 Quaderno API 的简单方法。
您可以为 Quaderno API 实现自己的客户端。然而,使用 quaderno-swift 可以让您立即访问相同的界面,而不必处理 HTTP 请求和响应的细节。
注意,您需要有效的账户才能使用 Quaderno。
“受支持的” 意味着库已经使用此版本进行了测试。‘兼容的’ 意味着库应该在该 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已经提供了一系列默认资源(如ContactResource
、InvoiceResource
等),它们均遵循Request
协议并提供了常见行为(如CRUDResource
、DeliverableResource
等)的请求。有关更多详细信息,请查阅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.
}
您可以通过检查Client
的entitlements
属性来查看使用服务的权限(例如速率限制)。
有关更多详细信息,请参阅Client.Entitlements
结构体。
Quaderno不会自动为您持久化对象。
Quaderno使用Carthage来管理依赖项。查看Cartfile
和Cartfile.private
以查看当前依赖项。
在克隆此存储库后,请运行以下命令
carthage bootstrap
项目的入口点是Quaderno.xcodeproj
文件,其中包含两个目标及其测试对应的对象
Quaderno iOS
,用于在iOS平台上构建。Quaderno macOS
,用于在macOS平台上构建。源代码完全使用Apple定义的标记格式命令进行了注释。
请记住,这只是一个原始API的Swift封装。如果您需要有关原始API的更多信息,请访问原始的API文档。
请注意,该项目遵循由contributor-covenant.org定义的捐助者行为准则。通过参与此项目,您同意遵守其条款。
Quaderno最初由Eliezer Talón开发。
在Twitter上关注Quaderno(@quadernoapp)。
Quaderno遵循MIT许可证发布。请参阅LICENSE.txt。