BudgetKit
BudgetKit
是 YNAB (You Need A Budget) 公共 API 的 iOS 框架包装器。它管理认证、网络调用和与 API 相关的模型对象。无需担心网络或 JSON 解析,只需导入 BudgetKit
并使用 YNAB API 开发您的 iOS 应用即可!
安装
BudgetKit 通过 CocoaPods 提供。要安装它,只需将以下行添加到 Podfile 中
pod 'BudgetKit'
通过运行 pod install
安装 pod。您可能需要先运行 pod repo update
。
在您需要调用 YNAB API 或使用 YNAB 模型对象的地方包含 BudgetKit
import BudgetKit
使用方法
认证
请参考 YNAB 认证概览 了解如何获取个人访问令牌和/或 OAuth 客户端 ID。
使用个人访问令牌登录。这是用于测试的选项,您可以选择强制失败以测试错误处理。
YNAB.login(personalAccessToken: String, shouldFail: Bool = false, authenticated: (() -> Void), failed: @escaping ((Error) -> Void))
使用 OAuth 登录。这是登录 YNAB 的标准方法。您将在任何应用程序的发布版本中使用此方法。
YNAB.login(clientID: String, redirectURI: String, state: String?, authenticated: @escaping (() -> Void), failed: @escaping ((Error) -> Void))
完成处理器
返回数据的API调用使用一个YNABCompletion<T>
,它只是一种使用Result
对象的闭包的别名。以下是每个的说明:
public typealias YNABCompletion<T> = ((Result<T>) -> Void)
public enum Result<T> {
case success(T)
case failure(Error)
}
根据result
管理成功和失败情况
YNAB.getCategory(budgetID: budgetID, categoryID: categoryID) { (result) in
switch result {
case .success(let category):
// Do something with the category
case .failure(let error):
// Handle the error
}
}
调用API
调用API很简单。以下是几个示例
通过ID获取预算
返回一个包含所有相关实体的单个预算。这个资源实际上是一个完整的预算导出。
YNAB.getBudget(id: UUID, completion: @escaping YNABCompletion<BudgetDetail>)
获取收款人的交易
返回指定收款人的所有交易。
YNAB.getTransactionListForPayee(budgetID: UUID, payeeID: UUID, completion: @escaping YNABCompletion<[TransactionDetail]>)
作者
Stuart Daubenmire,[email protected]
许可
BudgetKit在MIT许可下可用。有关更多信息,请参阅LICENSE文件。