У меня есть быстрое приложение, для которого у меня есть расширение сегодня, у него есть кнопка, которая открывает содержащее приложение.
кнопка прекрасно открывает приложение, когда приложение находится в недавнем списке, но падает, когдаприложение удалено из недавнего списка.
тоже нет аварийных журналов
это мой код на делегате приложения:
func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {
var mainViewController : MainViewController!
mainViewController = UIApplication.shared.keyWindow?.rootViewController?.childViewControllers[1].childViewControllers[0] as! MainViewController
if url.scheme == "open"
{
switch url.host
{
case "1"?:
mainViewController.isTaxi = true
break
case "2"?:
mainViewController.isPfp = true
break
case "3"?:
mainViewController.isDarbi = true
break
default:
break
}
}
return true
}
вот как я открываюсь в главном VC:
var isTaxi : Bool? {
didSet{
if UserDefaults.getUser() != nil {
self.taxiRegViewController.show()
} else {
self.taxiNotRegViewController.show()
}
}
}
здесь я запускаю событие касания в добавочном номере:
@IBAction func bookTaxiTapped(_ sender: UIButton) {
if let url = URL(string: "open://\(sender.tag)")
{
self.extensionContext?.open(url, completionHandler: nil)
}
}