plaid / plaid-link-ios

Plaid Link iOS SDK
https://plaid.com/docs/link/ios
MIT License
133 stars 88 forks source link

How to use resumeAfterTermination when the app has been fully quit - iOS #26

Closed caleblindsey closed 9 months ago

caleblindsey commented 10 months ago

A detailed description of the steps to reproduce the issue

Can you provide instructions or example code on using this API?

What you expected to see?

A continuation of the OAuth flow.

What you saw instead?

It appears to be some sort of internal TODO message left by developers?

Screenshots that show the state of the UI (if applicable)

Some Relevant Code

            handler.resumeAfterTermination(from: url)
            let modalPresentation: LinkKit.PresentationHandler = { [weak self] linkVC in
                guard let self else { return }
                linkVC.isModalInPresentation = true // prevents swiping to dismiss
                self.present(linkVC, animated: true)
            }
            handler.open(presentUsing: .custom(modalPresentation))

When submitting an issue for Plaid Link iOS please include the following information:

Name Value
Link env prod
LinkKit version 4.6.5
iOS version 17.1
iOS device iPhone 15 Pro

List of used 3rd party libraries:

dtroupe-plaid commented 10 months ago

@caleblindsey thanks for reporting. After some investigation this appears to be a bug on our end. We will release an update to patch this ASAP. I'll follow up here once that release is live.

caleblindsey commented 10 months ago

@caleblindsey thanks for reporting. After some investigation this appears to be a bug on our end. We will release an update to patch this ASAP. I'll follow up here once that release is live.

Awesome! Thank you for the response.

dtroupe-plaid commented 9 months ago

@caleblindsey I just released 4.7.0 which resolves this issue.

The code you posted above should now work

        handler.resumeAfterTermination(from: url)
        let modalPresentation: LinkKit.PresentationHandler = { [weak self] linkVC in
            guard let self else { return }
            linkVC.isModalInPresentation = true // prevents swiping to dismiss
            self.present(linkVC, animated: true)
        }
        handler.open(presentUsing: .custom(modalPresentation))

If you have any more issues related to resumeAfterTermination feel free to comment in this issue, but I am going to close it for now.