mailto: lien dans UIWebView - Ne fonctionne Pas
Est le areanything spécial, vous devez en html ou Rappels dans une UIWebView pour gérer les balises d'ancrage avec un href, ou est-il quelque chose de spécial au sujet d'une balise d'ancrage avec un lien mailto dans le href?
Vous devez vous connecter pour publier un commentaire.
Dans votre UIWebView de déléguer, à faire:
func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) { if (request.url?.scheme == "mailto") { UIApplication.shared.open(request.url)....
J'ai remarqué que lors de l'exécution dans le simulateur d'iPhone, j'ai pu cliquer sur un lien HTTP dans mon UIWebView et il allait ouvrir dans Safari, mais quand j'ai cliqué sur un lien mailto rien ne se passe. Mais quand j'ai déployé l'application d'un dispositif réel, il a travaillé. J'attends la raison en est parce qu'il n'y a aucune application de messagerie sur le simulateur, mais il est Safari.
Je voulais noter que ce n'est probablement pas la meilleure solution.
UIWebView possède une propriété appelée dataDetectorTypes - réglage de ce paramètre à l'ensemble ou à l'adresse devrait résoudre votre problème sans substitution de la Méthode mentionnée ci-dessus:
Mais il faut être conscient que cela ne peut pas travailler sur le simulateur - je l'ai essayé avec l'iPad 6.0 Simulateur où il ne fonctionne bien que sur un iPad, ça fonctionne comme un charme!
Exemple de travail pour Swift 4:
3 cas sont traités, développer si nécessaire.
ouvrir toutes les autres Url dans le navigateur safari mobile