No momento, estou abrindo o link no meu aplicativo em um WebView
, mas estou procurando uma opção para abrir o link no Safari .
150
Não é "feito para o Swift", mas você pode usar UIKit
métodos padrão para fazer isso. Dê uma olhada no UIApplication (obsoleto) e .openUrl(_:)
open(_:options:completionHandler:)
Swift 4 + Swift 5 (iOS 10 e superior)
guard let url = URL(string: "https://stackoverflow.com") else { return }
UIApplication.shared.open(url)
Swift 3 (iOS 9 e abaixo)
guard let url = URL(string: "https://stackoverflow.com") else { return }
UIApplication.shared.openURL(url)
Swift 2.2
guard let url = URL(string: "https://stackoverflow.com") else { return }
UIApplication.sharedApplication().openURL(url)
Novo no iOS 9 e superior, você pode apresentar ao usuário um
SFSafariViewController
(consulte a documentação aqui ). Basicamente, você obtém todos os benefícios de enviar o usuário ao Safari sem fazê-lo sair do aplicativo. Para usar o novo SFSafariViewController apenas:e em algum lugar de um manipulador de eventos, o usuário pode apresentar o controlador de visualização safari como este:
A visualização do safari será mais ou menos assim:
fonte
sharedApplication
É proibido acessar a propriedade na extensão do aplicativo. Para mais: developer.apple.com/library/archive/documentation/General/…ATUALIZADO para Swift 4: (crédito para Marco Weber)
OU escolha um estilo mais rápido usando
guard
:Swift 3:
Você pode verificar NSURL como opcional implicitamente:
fonte
if let requestUrl = NSURL(string: "http://www.iSecurityPlus.com") { UIApplication.shared.openURL(requestUrl as URL) }
Swift 3 e IOS 10.2
fonte
desde o iOS 10 você deve usar:
fonte
Swift 5
Swift 5: Marque usando
canOpneURL
se é válido e está aberto.fonte
No Swift 1.2:
fonte
No Swift 2.0:
fonte
IOS 11.2 Swift 3.1- 4
fonte