Iterable / swift-sdk

Iterable's iOS SDK. Receive and track pushes to Iterable from your iOS app.
https://iterable.com/
MIT License
86 stars 71 forks source link

handle(universalLink) does not behave as described. #592

Open scottasoutherland opened 1 year ago

scottasoutherland commented 1 year ago

We upgrade from version 6.3.4 to version 6.4.9 of the Iterable SDK, and we ran into an issue where our deeplink routes are being routed twice.

It was discovered that the reason for this is the call to "handle(universalLink url: URL)" is now returning false where it used to return true for the same deeplink.

Upon closer examination, the reason seems to be that as per the documentation on this function, it says Returns: true if it is an Iterable link, or the value returned from IterableURLDelegate otherwise. However, the call makes it through to the URL Delegate, which returns true. But the call to handle(universalLink url: URL) returns false. This seems to be because the call inside DeepLinkManager-> handleUniversalLink went from this:

Screenshot 2023-02-22 at 11 21 41 AM

to this

Screenshot 2023-02-22 at 11 22 10 AM

As you can see it is no longer capturing the result from ActionRunner.execute and always returns false no matter what the URLDelegate returns.

jonasman commented 4 months ago

Any update here? this is a problem here also

@Ayyanchira

scottasoutherland commented 3 weeks ago

Here is a pull request for this issue: https://github.com/Iterable/swift-sdk/pull/795