Универсальные ссылки iOS не запускают сцену (_: продолжить :), когда приложение уже запущеноIOS

Программируем под IOS
Ответить
Anonymous
 Универсальные ссылки iOS не запускают сцену (_: продолжить :), когда приложение уже запущено

Сообщение Anonymous »

Я пытаюсь обработать универсальные ссылки iOS в своем приложении SwiftUI.
  • Холодный старт: когда я открываю ссылку из Safari или Notes и приложение закрывается — все работает нормально.
  • Горячий старт: когда приложение уже находится на переднем или фоновом режиме — ничего не происходит, запускается только SceneWillEnterForeground.

    Код: Выделить всё

    scene(_:continue:)
    и Scene(_:openURLContexts:) никогда не вызываются.
Моя настройка:

Код: Выделить всё

apple-app-site-association
правильно настроен и работает (холодный запуск доказывает это).

Код: Выделить всё

Info.plist
включает в себя:

Код: Выделить всё

UIApplicationSceneManifest

UIApplicationSupportsMultipleScenes

UISceneConfigurations

UIWindowSceneSessionRoleApplication


UISceneClassName
UIWindowScene
UISceneDelegateClassName
$(PRODUCT_MODULE_NAME).SceneDelegate
NSUserActivityTypes

NSUserActivityTypeBrowsingWeb





NSUserActivityTypes

NSUserActivityTypeBrowsingWeb

SceneDelegate:

Код: Выделить всё

final class SceneDelegate: NSObject, UIWindowSceneDelegate {
func scene(_ scene: UIScene,
continue userActivity: NSUserActivity) {
guard userActivity.activityType == NSUserActivityTypeBrowsingWeb,
let url = userActivity.webpageURL else { return }
handleIncomingURL(url)
}

func scene(_ scene: UIScene,
openURLContexts URLContexts: Set) {
guard let url = URLContexts.first?.url else { return }
handleIncomingURL(url)
}

func sceneWillEnterForeground(_ scene: UIScene) {
// This fires on hot start, but PendingDeeplink.id is nil
}
}
Если я нажимаю ссылку из Notes, когда приложение уже открыто, срабатывает только SceneWillEnterForeground.
Я уже пробовал:
  • Очистка данных сайта Safari
  • Добавление NSUserActivityTypes как в сцене, так и в приложении level
  • Изменение URL-адреса каждый раз (во избежание кеширования)
  • Нажатие из «Заметок/Сообщений» вместо Safari
Тем не менее, при горячем запуске не происходит вызова сцены(_:continue:).

Подробнее здесь: https://stackoverflow.com/questions/798 ... ady-runnin
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»