Tink Money Manager for iOS
先决条件
要求
- iOS 11.0
- Xcode 14.1
安装
Swift Package Manager
-
按照以下说明 将目标与包产品链接。
-
在需要输入包仓库地址时,输入此 URL
https://github.com/tink-ab/tink-money-manager-ios
。 -
当 Xcode 解析完成
tink-money-manager-ios
并询问您选择包产品时,请选择TinkMoneyManagerUI
。
使用 CocoaPods
请参阅他们的 指南 了解使用和安装说明。
-
将
TinkMoneyManagerUI
添加到您的 Podfile。pod "TinkMoneyManagerUI"
-
在您的项目目录中运行
pod install
。 -
打开您的
.xcworkspace
文件,在 Xcode 中查看项目。
手动安装
将 TinkMoneyManagerUI.xcframework
和 TinkCore.xcframework
拖到应用程序目标的 通用 选项卡上的 框架、库和嵌入式内容 部分。
现在您应该在项目中能够 导入 TinkMoneyManagerUI
。
获取数据
SDK 需要一个特定用户的有效访问令牌才能正确运行。由于 SDK 不处理任何类型的身份验证,这需要由您的后端完成。有关如何执行此操作,请参阅此链接获取更多信息。一旦您有了访问令牌,就将它传递到您的 Tink
实例。
Tink.shared.userSession = .accessToken(<#T##String#>)
显示金融概览
创建一个 FinanceOverviewViewController
并提供要显示的功能。由于 FinanceOverviewViewController
被设计为在导航控制器中使用,因此您需要将其嵌入到一个导航控制器中。
let financeOverviewViewController = FinanceOverviewViewController(features: [.statistics([.expenses, .income]), .accounts, .latestTransactions])
let navigationController = UINavigationController(rootViewController: financeOverviewViewController)
// Present or add to a UITabBarController for instance.
刷新访问令牌
用户访问令牌在设定时间后过期。您可以通过交换刷新令牌以获取新的访问令牌(见 Tink 文档)并更新您使用的 Tink
实例来保持用户在线。如果需要,您还可以刷新统计信息、账户和最新交易。
Tink.shared.userSession = .accessToken(<#String#>)
Tink.shared.refresh()
自定义化
要配置颜色、字体或图标,您需要更新 Appearance.provider
。需要在初始化 FinanceOverviewViewController
或 SDK 提供的其他任何视图控制器之前完成此操作。
颜色
颜色 |
描述 |
---|---|
背景 |
界面主要背景颜色。 |
次要背景 |
主要内容层叠在主要背景上的颜色。 |
分组背景 |
分组界面组件的主要背景颜色。 |
次要分组背景 |
主要内容层叠在分组界面组件的主要背景上的颜色。 |
标签 |
主要文本颜色。 |
次要标签 |
次要文本颜色。 |
分隔符 |
分隔符颜色。 |
强调 |
按钮、指示器和其他类似元素的色彩。 |
支出 |
表示支出的颜色。 |
收入 |
表示收入的颜色。 |
转账 |
表示转账的颜色。 |
未分类 |
表示未分类交易的颜色。 |
警告 |
表示警告的颜色。 |
let colorProvider = ColorProvider()
colorProvider.accent = <#UIColor#>
colorProvider.expenses = <#UIColor#>
colorProvider.income = <#UIColor#>
colorProvider.transfers = <#UIColor#>
colorProvider.uncategorized = <#UIColor#>
Appearance.provider.colors = colorProvider
图标
您可以决定是要更改所有图标还是仅更改一些图标。您还可以使用`categoryIconBackgroundCornerRadiusFactor`属性自定义图标背景的圆角,该属性的值从`0.0`到`1.0`,其中`0.0`表示正方形,`1.0`(默认值)表示圆形。
主题
您可以通过提供`ColorProviding`、`IconProviding`和`FontProviding`类型来配置颜色、字体和图标。SDK还提供`AppearanceProvider`类型,可用来轻松自定义视图。
let colorProvider = ColorProvider()
let fontProvider = FontProvider()
let iconProvider = IconProvider()
colorProvider.accent = <#UIColor#>
colorProvider.expenses = <#UIColor#>
colorProvider.income = <#UIColor#>
colorProvider.transfers = <#UIColor#>
colorProvider.uncategorized = <#UIColor#>
fontProvider.lightFont = <#UIFont#>
fontProvider.regularFont = <#UIFont#>
fontProvider.semiBoldFont = <#UIFont#>
fontProvider.boldFont = <#UIFont#>
iconProvider.wellness = <#UIImage#>
iconProvider.house = <#UIImage#>
iconProvider.entertainment = <#UIImage#>
iconProvider.shopping = <#UIImage#>
iconProvider.categoryIconBackgroundCornerRadiusFactor = <#CGFloat#>
Appearance.provider = AppearanceProvider(colors: colorProvider, fonts: fontProvder, icons: iconProvider)
缓存
SDK将在内存中缓存读取的数据。如果用户登出,您需要重置缓存以确保不会向错误用户展示缓存数据。
Tink.shared.resetCache()
本地化
如交易金额和日期等数字和时间相关的信息,将使用系统设置应用中当前用户设置的地区设置为格式。
由于一些面向用户文本来自Tink API,我们建议您将Tink用户模型的locale
设置为与用户偏好匹配,以确保一致的用户体验。
SDK中的用户界面文本默认为英文。要添加其他地区的翻译,请参阅可本地化字符串指南。
附加要求
锁定屏幕方向
SDK中的视图控制器应始终以纵向方向显示,因为它们目前不支持横向方向。如果在横向方向显示,将导致意外结果和次优的用户体验。通过覆盖用于显示从SDK使用的视图控制器的supportedInterfaceOrientations
来自定义其他方向除了纵向。
override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
return .portrait
}
或者通过在应用目标的“通用”标签下的“部署信息”部分禁用所有除了纵向
之外的设备方向。
示例
此示例项目展示了如何在您的应用程序中设置和使用FinanceOverviewViewController
。
文档
有关更详细的使用方法和完整文档,请参阅我们的指南。
Tink
Tink成立于2012年,旨在改善银行业。我们构建了欧洲最强大的开放银行业平台——拥有最广泛、最深入的连接和强大的服务,能将金融数据转化为价值。