Deeplink support for iOS app
This is a request from a support ticket, more info here: https://github.com/nextcloud/ios/issues/2479
Currently we do not support deeplinking between the website and the iOS app. Deeplinking already works on Android.
For this to happen, we need 2 things:
- Add an associated domain file to the site: https://developer.apple.com/documentation/xcode/supporting-associated-domains
- Add navigational context to the smart app banner. We already show the banner, but it does not have context navigation. Essentially, when pressing the banner to open the app, the app should navigate to the current directory we are in on the site. More info here: https://developer.apple.com/documentation/webkit/promoting_apps_with_smart_app_banners#3701576
@AndyScherzinger @juliushaertl This is needed for a support ticket, so it would be great if it got higher priority.
- Add an associated domain file to the site: https://developer.apple.com/documentation/xcode/supporting-associated-domains
This will then only work with nextcloud.com, but not e.g. with your private cloud at cloud.sky.com ?
@tobiasKaminsky Good catch. That is correct, which means clients need to set that up on their sites. I think the best thing we can do in that case is provide a template for them that they can easily change.
Still, it's good to set that up on our own site for testing and use internally.
Server side would be possible. But I read this https://developer.apple.com/documentation/xcode/supporting-associated-domains#Add-the-associated-domains-entitlement-to-your-app as that each website needs to be addressed within our app. Which is then not possible for dynamic clouds (e.g. cloud.sky.com), but only for branded clients, where we know the server domain in advance?
Server side would be possible. But I read this https://developer.apple.com/documentation/xcode/supporting-associated-domains#Add-the-associated-domains-entitlement-to-your-app as that each website needs to be addressed within our app. Which is then not possible for dynamic clouds (e.g. cloud.sky.com), but only for branded clients, where we know the server domain in advance?
For branded clients with known domains it's easy to just add the file, yes. For dynamic domains it is probably going to be harder, maybe they can use a script to create this file for each new domain.
Also, apparently it's possible to use wildcards: https://developer.apple.com/forums/thread/47315
But it also needs to be listed in app:
To set up the entitlement in your app, open the target’s Signing & Capabilities tab in Xcode and add the Associated Domains capability.
So we cannot to this for "any" server out there?
But it also needs to be listed in app:
To set up the entitlement in your app, open the target’s Signing & Capabilities tab in Xcode and add the Associated Domains capability.
So we cannot to this for "any" server out there?
Yes, most likely not. Even in the best case scenario some additional setup from clients/users will be needed.
--> closing for now here. If at all this will be a branding option.