Skip to content

Commit 00e781a

Browse files
authored
Merge pull request #99 from tink-ab/LINK-4005-Release-5-0-0
Tink Link 5.0.0 release
2 parents 35e45c6 + ac5832f commit 00e781a

22 files changed

+2889
-1060
lines changed

README.md

Lines changed: 49 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
11
![Platforms](https://img.shields.io/badge/Platforms-iOS_14_15_16_17_18-brightgreen)
22
![Swift](https://img.shields.io/badge/Swift-5.10-blue)
3-
![Xcode](https://img.shields.io/badge/Xcode-15-yellowgreen)
3+
![Xcode](https://img.shields.io/badge/Xcode-15_16-yellowgreen)
44
![CocoaPods](https://img.shields.io/cocoapods/v/TinkLink.svg)
55
![SPM](https://img.shields.io/badge/SPM-compatible-orange)
66

77
# Tink Link iOS
88

99
![Tink Link iOS](https://github.com/tink-ab/tink-link-ios/assets/3734694/6d579562-14ec-4e89-a5d0-55b7ee0abb8a)
1010

11-
1211
## Prerequisites
1312

1413
1. [Set up your Tink Console account](https://docs.tink.com/resources/console/set-up-your-tink-account) and retrieve the `client ID` for your app.
@@ -20,6 +19,19 @@
2019
* Navigate down and expand `URL Types` section.
2120
* Press plus (`+`) button.
2221
* Add your universal link (or deep link) scheme into `URL Schemes` field (eg. `myapp`).
22+
4. Add url handling in your app `SceneDelegate`:
23+
```
24+
import UIKit
25+
import TinkLink
26+
class SceneDelegate: UIResponder, UIWindowSceneDelegate {
27+
28+
func scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>) {
29+
guard let url = URLContexts.first?.url else { return }
30+
31+
Tink.openUrl(url)
32+
}
33+
}
34+
```
2335

2436
## Requirements
2537

@@ -50,6 +62,41 @@ pod "TinkLink"
5062
1. Download and extract the `TinkLink.xcframework` from the [releases page on GitHub](https://github.com/tink-ab/tink-link-ios/releases).
5163
2. Drag `TinkLink.xcframework` to the _Frameworks, Libraries, and Embedded Content_ section of the _General_ settings tab for your application target in your Xcode project. Make sure to select Copy items if needed.
5264

65+
## Configuring the SDK
66+
67+
### Configuration
68+
1. Define `clientID`:
69+
```
70+
let clientID: String = YOUR_CLIENT_ID
71+
```
72+
Your client ID (retrieved from [Console](https://console.tink.com)).
73+
74+
2. Define `redirectURI`:
75+
```
76+
let redirectURI: String = YOUR_REDIRECT_URI
77+
```
78+
The app uri the end-user is redirected to after completing the flow together with the response parameters (configured in [Console](https://console.tink.com)).
79+
80+
3. Define `baseDomain`:
81+
```
82+
let baseDomain: BaseDomain = .eu
83+
```
84+
It determines the API base domain for Tink Link. EU, US or custom.
85+
86+
4. Define `enableSafariViewController`:
87+
```
88+
let enableSafariViewController: Bool = false/true
89+
```
90+
`enableSafariViewController` parameter defines SDK behaviour in case of 3rd party authentiation redirect.
91+
* Set `false` if it is preferred to redicrect to default iOS browser.
92+
In such case user being redirected into browser for authentication and back into clients app.
93+
* Set `true` if it is preferred to present 3rd party authentiation resource within clients app via [SFSafariViewController](https://developer.apple.com/documentation/safariservices/sfsafariviewcontroller).
94+
95+
5. Initialize `configuration`:
96+
```
97+
let configuration = Configuration(clientID: clientID, redirectURI: redirectURI, baseDomain: baseDomain, enableSafariViewController: enableSafariViewController)
98+
```
99+
53100
## Launching the SDK
54101

55102
To launch the SDK in your iOS app, please see the product specific documentation.

TinkLink.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Pod::Spec.new do |spec|
44
spec.description = <<-DESC
55
Optimise open banking experiences for mobile apps with Tink Link iOS SDK.
66
DESC
7-
spec.version = "4.0.0"
7+
spec.version = "5.0.0"
88
spec.license = { :type => "MIT", :file => "LICENSE" }
99
spec.authors = { "Tink AB" => "mobile@tink.se" }
1010
spec.homepage = "https://github.com/tink-ab/tink-link-ios"

TinkLink.xcframework/Info.plist

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,32 +8,32 @@
88
<key>BinaryPath</key>
99
<string>TinkLink.framework/TinkLink</string>
1010
<key>LibraryIdentifier</key>
11-
<string>ios-arm64</string>
11+
<string>ios-arm64_x86_64-simulator</string>
1212
<key>LibraryPath</key>
1313
<string>TinkLink.framework</string>
1414
<key>SupportedArchitectures</key>
1515
<array>
1616
<string>arm64</string>
17+
<string>x86_64</string>
1718
</array>
1819
<key>SupportedPlatform</key>
1920
<string>ios</string>
21+
<key>SupportedPlatformVariant</key>
22+
<string>simulator</string>
2023
</dict>
2124
<dict>
2225
<key>BinaryPath</key>
2326
<string>TinkLink.framework/TinkLink</string>
2427
<key>LibraryIdentifier</key>
25-
<string>ios-arm64_x86_64-simulator</string>
28+
<string>ios-arm64</string>
2629
<key>LibraryPath</key>
2730
<string>TinkLink.framework</string>
2831
<key>SupportedArchitectures</key>
2932
<array>
3033
<string>arm64</string>
31-
<string>x86_64</string>
3234
</array>
3335
<key>SupportedPlatform</key>
3436
<string>ios</string>
35-
<key>SupportedPlatformVariant</key>
36-
<string>simulator</string>
3737
</dict>
3838
</array>
3939
<key>CFBundlePackageType</key>

TinkLink.xcframework/ios-arm64/TinkLink.framework/Headers/TinkLink-Swift.h

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#if 0
22
#elif defined(__arm64__) && __arm64__
3-
// Generated by Apple Swift version 5.10 (swiftlang-5.10.0.13 clang-1500.3.9.4)
3+
// Generated by Apple Swift version 6.0.2 effective-5.10 (swiftlang-6.0.2.1.2 clang-1600.0.26.4)
44
#ifndef TINKLINK_SWIFT_H
55
#define TINKLINK_SWIFT_H
66
#pragma clang diagnostic push
@@ -42,6 +42,8 @@
4242
#include <string.h>
4343
#endif
4444
#if defined(__cplusplus)
45+
#pragma clang diagnostic push
46+
#pragma clang diagnostic ignored "-Wnon-modular-include-in-framework-module"
4547
#if defined(__arm64e__) && __has_include(<ptrauth.h>)
4648
# include <ptrauth.h>
4749
#else
@@ -55,6 +57,7 @@
5557
# endif
5658
#pragma clang diagnostic pop
5759
#endif
60+
#pragma clang diagnostic pop
5861
#endif
5962

6063
#if !defined(SWIFT_TYPEDEFS)
@@ -289,6 +292,7 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
289292
#pragma clang diagnostic ignored "-Wunknown-pragmas"
290293
#pragma clang diagnostic ignored "-Wnullability"
291294
#pragma clang diagnostic ignored "-Wdollar-in-identifier-extension"
295+
#pragma clang diagnostic ignored "-Wunsafe-buffer-usage"
292296

293297
#if __has_attribute(external_source_symbol)
294298
# pragma push_macro("any")
@@ -315,6 +319,10 @@ SWIFT_CLASS("_TtC8TinkLink18TinkViewController")
315319
@end
316320

317321

322+
@interface TinkViewController (SWIFT_EXTENSION(TinkLink)) <UIViewControllerTransitioningDelegate>
323+
@end
324+
325+
318326

319327
#endif
320328
#if __has_attribute(external_source_symbol)
-2 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)