UniversalLink перестает работать на устройствах iOS 14
У меня есть приложение, поддерживающее UniversalLink. Пользователь щелкает поддерживаемые ссылки на веб-сайте, и вы переходите к функциям приложения.
Но это не сработало в бета-версии 4 iOS 14. Вместо того, чтобы открывать приложение, оно открывает страницу в режиме чтения.
После исследования, как я вижу из документа здесь https://developer.apple.com/documentation/bundleresources/entitlements/com_apple_developer_associated-domains
Необходимо обновить Service.entitlements для поддержки iOS 13 и iOS 14.
<Key>com.apple.developer.associated-domains</key>
<array>
<string>applinks:hosturl</string>
<string>applinks:hosturl?mode=developer</string>
</array>
На тренажере работает хорошо. Но я не могу заставить его работать на устройствах. Каждый может помочь в этом.
3 ответа
Если вы хотите открыть приложение в среде разработки, вы должны:
Шаг 1. Укажите связанные домены
служба: полностью квалифицированный_домен? режим = альтернативный режим
пример:
applinks:YOUR_DOMAIN?mode=developer
Шаг 2. Включите разработку связанных доменов на устройстве
На тестовом устройстве вам необходимо активировать настройку Associated Domain Development, которая находится в: Setup -> Developer
Формат также изменился для устройств iOS14. Это означает, что ассоциация "яблоко-приложение-сайт" должна находиться как в корневой папке вашего веб-сайта (для устройств до iOS9.3, если поддерживается), так и в хорошо известной папке.
<YOUR_URL> / apple-app-site-association
<YOUR_URL>/.well-known/apple-app-site-association
Новый формат предназначен для поддержки устройств до iOS14 и iOS14.
{
"applinks": {
"apps": [],
"details": [
{
"appID": "<YOUR_APP_ID>",
"components": [ // iOS14
{
"/": "<URL_PATH>",
"comment": "Matches any URL whose path starts with URL_PATH and instructs the system not to open it as a universal link"
}
],
"paths": [ // pre iOS14
"NOT \/api\/*",
"NOT \/",
"<URL_PATH>"
]
}
]
}
}
дополнительная информация: https://developer.apple.com/documentation/safariservices/supporting_associated_domains
Укажите связанные домены (полностью квалифицированный домен)
пример:
applinks:domain.com // wrong
applinks:www.domain.com // right