Универсальные ссылки iOS 14 не работают в браузере по умолчанию, отличном от Safari

#mobile-safari #ios14 #ios-universal-links #apple-app-site-associate

#мобильный-safari #ios14 #ios-universal-links #apple-app-site-associate

Вопрос:

В iOS 14 вы можете выбрать другой браузер по умолчанию, кроме Safari. Если вы используете другой браузер, этот браузер попросит пользователя сменить браузер по умолчанию.

Я установил довольно много браузеров (Chrome, Firefox, Edge, Opera, Brave …) и установил каждый из них в качестве своего по умолчанию.

Проблема возникает, когда я пытаюсь открыть универсальную ссылку (которая работала нормально, когда Safari был браузером по умолчанию), которая, похоже, просто не работает. При использовании Safari в качестве браузера по умолчанию Универсальная ссылка будет работать, и откроется соответствующее собственное приложение. Однако при использовании любого другого браузера, отличного от Safari, установленного по умолчанию, функция не работает, и универсальная ссылка не открывает собственное приложение.

Кто-нибудь испытывал что-нибудь подобное? Почему это может произойти и как это можно решить?

Любая помощь очень приветствуется

Ответ №1:

Для iOS 14

Я предлагаю добавить это в ваш Info.plist

 <key>LSApplicationQueriesSchemes</key>
<array>
  <string>https</string>
</array>
  

Добавив это, вы можете продолжать использовать метод canOpenURL(_ url: URL) -> Bool

 guard let url = URL(string: "https://example.com") else { return }
if UIApplication.shared.canOpenURL(url) {
    UIApplication.shared.open(url)
}
  

Ответ №2:

В iOS до 14.1 есть ошибка, вы проверили это? https://www.komando.com/gadgets/apple-releases-ios-14-1/754697 /

Редактировать: работает для меня