Хорошо, после нескольких часов работы я решил это.Загляните внутрь моего AppDelegate:
func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any]) -> Bool {
if let hotSpotRISViewController = UIApplication.shared.keyWindow?.rootViewController?.childViewControllers[0] as? HotSpotRISViewController {
hotSpotRISViewController.setURL(theURL: url)
}
}
или вы можете сделать это так, как я полагаю, предпочтительнее:
func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any]) -> Bool {
if let hotSpotRISViewController = app.keyWindow?.rootViewController?.childViewControllers[0] as? HotSpotRISViewController {
hotSpotRISViewController.setURL(theURL: url)
}
}
Разница в том, что вместо использования UIApplication.shared.keyWindow, вы используете app.keyWindow, который кажется лучше, так как app является единственным приложением вашего приложения и передается в качестве аргумента этой функции.
Надеюсь, из этого примера кто-нибудь еще столкнулся с этой проблемойможет получить хорошее представление о том, что нужно, чтобы найти правильный ViewController.Не забудьте привести его к вашему подклассу ViewController, иначе вы не сможете использовать ни одну из функций, которые вы там сделали.