I am very puzzled by a situation here. Basically, i have an branch link with 2 parameters. In my iOS, it is handled in the deeplinkhandler setup during the setup.
However, the link works VERY differently. We installed on the TF on our phones. The app store does not have the version w branch yet.
configuration below:
- from both of our chrome: works seamlessly, deeplinked works
- from my phone, iMessage: goes to appstore
- from his phone, iMessage: goes to app but deep linking does not work
so.....
- if it works on chrome, does that mean my integration is done right?
- why would it work differently from my phone and another phone, given we have the same OS?
- if the main goal is to deeplink properly (like emails), wouldn't it be more effective to do a URL scheme, where we know for certain that the deep link will land ther user where we need?
EDIT: Figured out part of the problem: my device was "disabled for universal links"
Now, it is because continue userActivity is not being called even when the link appears to work! I know because it does not show up in my debug logs, AND when i initialized the app WHEN the deeplink DOES not appear to work, the deeplink is triggered when I open the app. :)
// This is my method signature, its in an appdelegate EXTENSION.
// could that be the problem?
// i am using swift 2.3
func application(application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: ([Any]?) -> Void) -> Bool {
application.fuckingComprehensivePrint("application continue in appdelegate")
return Branch.getInstance().continueUserActivity(userActivity)
}
EDIT 2: Ok, so all in all, there were THREE problems
- My device was disabled for universal links
- I put my method signature in an extension
- My method signature was wrong (i used swift 3.0 syntax)
I also had URL handling in my app (separate from branch) that caused it to work in some instances.