summaryrefslogtreecommitdiffstats
path: root/src/gui
diff options
context:
space:
mode:
authorLars Schmertmann <Lars.Schmertmann@governikus.de>2020-05-15 18:45:05 +0200
committerLars Schmertmann <Lars.Schmertmann@governikus.de>2020-05-19 06:37:03 +0200
commit1b7589a25c66d14ff6873710a3851038d627ef57 (patch)
tree0421b909991c340e6814766470c6a6b492aae10a /src/gui
parent4683b0b57f0571e400ab0ed48530ad8c6171d9f6 (diff)
Enable Universal Links on iOS
Pick-to: 5.15 Change-Id: I05b5bede49f619576dd9ab37444f7cb5fe0f15f0 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/doc/snippets/code/src_gui_util_qdesktopservices.cpp22
-rw-r--r--src/gui/util/qdesktopservices.cpp17
2 files changed, 39 insertions, 0 deletions
diff --git a/src/gui/doc/snippets/code/src_gui_util_qdesktopservices.cpp b/src/gui/doc/snippets/code/src_gui_util_qdesktopservices.cpp
index b9a8d8d90e..6527021dd6 100644
--- a/src/gui/doc/snippets/code/src_gui_util_qdesktopservices.cpp
+++ b/src/gui/doc/snippets/code/src_gui_util_qdesktopservices.cpp
@@ -96,3 +96,25 @@ QDesktopServices::storageLocation(QDesktopServices::DataLocation)
QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) +
"/data/organization/application"
//! [6]
+
+//! [7]
+<key>com.apple.developer.associated-domains</key>
+<array>
+ <string>applinks:your.domain.com</string>
+</array>
+//! [7]
+
+//! [8]
+{
+ "applinks": {
+ "apps": [],
+ "details": [{
+ "appIDs" : [ "ABCDE12345.com.example.app" ],
+ "components": [{
+ "/": "/help",
+ "?": { "topic": "?*"}
+ }]
+ }]
+ }
+}
+//! [8]
diff --git a/src/gui/util/qdesktopservices.cpp b/src/gui/util/qdesktopservices.cpp
index 3b86d0c584..53f84fd24f 100644
--- a/src/gui/util/qdesktopservices.cpp
+++ b/src/gui/util/qdesktopservices.cpp
@@ -250,6 +250,23 @@ bool QDesktopServices::openUrl(const QUrl &url)
For more information, see the Apple Developer Documentation for
\l{https://developer.apple.com/documentation/uikit/core_app/allowing_apps_and_websites_to_link_to_your_content/communicating_with_other_apps_using_custom_urls?language=objc}{Communicating with Other Apps Using Custom URLs}.
+ \warning It is not possible to claim support for some well known URL schemes, including http and https. This is only allowed for Universal Links.
+
+ To claim support for http and https the above entry in the Info.plist file
+ is not allowed. This is only possible when you add your domain to the
+ Entitlements file:
+
+ \snippet code/src_gui_util_qdesktopservices.cpp 7
+
+ iOS will search for /.well-known/apple-app-site-association on your domain,
+ when the application is installed. If you want to listen to
+ https://your.domain.com/help?topic=ABCDEF you need to provide the following
+ content there:
+
+ \snippet code/src_gui_util_qdesktopservices.cpp 8
+
+ For more information, see the Apple Developer Documentation for
+ \l{https://developer.apple.com/documentation/safariservices/supporting_associated_domains_in_your_app}[Supporting Associated Domains}.
If setUrlHandler() is used to set a new handler for a scheme which already
has a handler, the existing handler is simply replaced with the new one.