#ios #swift #ios-universal-links #ios14
#iOS #быстрый #ios-universal-links #ios14 #swift
Вопрос:
Следующее решение может поддерживать universalLink на симуляторе.
У меня есть приложение, которое поддерживает UniversalLink. Пользователь, перейдя по поддерживаемым ссылкам на веб-сайте, перейдет к функциям приложения.
Но это не сработало на iOS 14 beta 4. Вместо того чтобы открывать приложение, оно открывает веб-страницу instread.
После исследования, как я могу видеть из приведенного здесь документа https://developer.apple.com/documentation/bundleresources/entitlements/com_apple_developer_associated-domains
Необходимо обновить сервис.права на поддержку как iOS 13, так и iOS 14
<Key>com.apple.developer.associated-domains</key>
<array>
<string>applinks:hosturl</string>
<string>applinks:hosturl?mode=developer</string>
</array>
Это хорошо работает на симуляторе.
Но я не могу заставить его работать на устройствах.
Любой может помочь этому.
Ответ №1:
Если вы хотите открыть приложение в среде разработки, вы должны:
Шаг 1: Укажите связанные домены
сервис: fully qualified_domain?режим = альтернативный режим
пример: applinks:YOUR_DOMAIN?mode=developer
Шаг 2: Включите разработку связанного домена на устройстве
На тестовом устройстве вам необходимо активировать соответствующий параметр разработки домена, который находится в: Настройка -> Разработчик
Комментарии:
1. Я пытался понять это в течение нескольких часов. Спасибо
2. Я тоже пропустил включение связанного переключения домена в настройках разработчика., Спасибо!
Ответ №2:
Формат также изменился для устройств iOS14. Это означает, что apple-app-site-association должна находиться как в корневой папке вашего веб-сайта (для устройств до iOS9.3, если поддерживается), так и в папке .well-known.
<YOUR_URL>/apple-app-site-association
<YOUR_URL>/.известный/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
Комментарии:
1. Вам не нужно размещать его в обоих местах, если вы не поддерживаете устройства более ранних версий, чем iOS 9.3 (которых, я подозреваю, немного). Тогда Apple изменила расположение ассоциации по умолчанию на
/.well-known/
, так что вы можете использовать один файл в хорошо известной папке и просто включить оба пути и компоненты. Смотрите: developer.apple.com/forums/thread/43342