Я использовал учебник для реализации метода в делегате приложения для открытия определенных контроллеров представления с кнопки HTML из safari. мой делегат приложения выглядит так:
func application(_ app: UIApplication, open URL: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {
print("url \(url)")
print("url host :\(url.host!)")
print("url path :\(url.path)")
let urlPath : String = (url.path as String?)!
let urlHost : String = (url.host as String?)!
let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
if(urlHost != "mywebsite.ir")
{
print("Host is not correct")
return false
}
if(urlPath == "/index"){
let innerPage: ViewController = mainStoryboard.instantiateViewController(withIdentifier: "HomeViewController") as! ViewController
self.window?.rootViewController = innerPage
}
self.window?.makeKeyAndVisible()
return true
}
и моя ссылка на кнопку HTML:
<a href= "myapp://mywebsite.ir/index">open app</a>
но когда открывается домашняя страница моего приложения, панель навигации исчезает, и пользователь застревает и не имеет никакого доступа к кнопкам меню или кнопке возврата (в случае внутренних контроллеров представления).
скриншоты контроллера вида до и после глубокой ссылки: