Na página de configurações, quero incluir três links para
- Meu site de suporte de aplicativo
- Tutorial do aplicativo do YouTube
- Meu site principal (por exemplo: vinculado a um rótulo 'Created by Dale Dietrich'.)
Pesquisei neste site, na Web e em minha documentação e não encontrei nada que fosse óbvio.
NOTA: Não quero abrir páginas da Web no meu aplicativo. Eu só quero enviar o link para o Safari e esse link estará aberto lá. Já vi vários aplicativos fazendo a mesma coisa na página "Configurações", por isso deve ser possível.
ios
url
mobile-safari
Dale Dietrich
fonte
fonte
Respostas:
Aqui está o que eu fiz:
Criei uma IBAction nos arquivos .h do cabeçalho da seguinte maneira:
Adicionei um UIButton na página Configurações que contém o texto ao qual quero vincular.
Conectei o botão ao IBAction no Proprietário do arquivo adequadamente.
Em seguida, implemente o seguinte:
Objetivo-C
Rápido
(IBAction no viewController, em vez de arquivo de cabeçalho)
fonte
Sintaxe rápida:
Nova sintaxe Swift para iOS 9.3 e versões anteriores
A partir de uma nova versão do Swift (possivelmente swift 2?), O UIApplication.sharedApplication () agora é o UIApplication.shared (aproveitando melhor as propriedades computadas). Além disso, o URL não é mais implicitamente conversível em NSURL, deve ser explicitamente convertido com as!
Nova sintaxe Swift a partir do iOS 10.0
O método openURL foi descontinuado e substituído por um método mais versátil que utiliza um objeto de opções e um manipulador de conclusão assíncrono a partir do iOS 10.0
fonte
openURL(_:)
foi preterido no iOS 10.0, em vez disso, você deve chamar o método de instânciaopen(_:options:completionHandler:)
no UIApplication.if let url = NSURL(string:"http://www.reddit.com/") { UIApplication.shared.open(url) }
sempre servirá o seu melhor. Pode quererassert
e erro naelse
declaração para pegar erros de digitação.Aqui é necessária uma verificação para que o URL aberto seja capaz de abrir por dispositivo ou simulador ou não. Porque algumas vezes (maioria no simulador) eu achei que causa falhas.
Objetivo-C
Swift 2.0
Swift 4.2
fonte
canOpenURL
. Não vejo por que você simplesmente não ligariaopenURL:url
e, se falhar, lide com a falha.canOpenURL
é usado principalmente para detectar a instalação de um aplicativo sem sair do aplicativo atual.openURL(_:)
foi preterido no iOS 10.0, em vez disso, você deve chamar o método de instânciaopen(_:options:completionHandler:)
no UIApplication.Veja o
-openURL:
método no UIApplication. Ele deve permitir que você passe uma instância NSURL para o sistema, o que determinará em qual aplicativo abrir e iniciar o aplicativo. (Lembre-se de que você provavelmente desejará verificar-canOpenURL:
primeiro, caso a URL não possa ser manipulada por aplicativos atualmente instalados no sistema - embora isso provavelmente não seja um problema parahttp://
links simples ).fonte
openURL(_:)
foi preterido no iOS 10.0, em vez disso, você deve chamar o método de instânciaopen(_:options:completionHandler:)
no UIApplication.E, caso você não tenha certeza se o URL fornecido
text
possui um esquema:fonte
text
aqui) não é codificada e você precisa de um código como este.A versão Objective-C não reprovada seria:
fonte
Swift 3.0
Também suporta dispositivos com versões mais antigas do iOS
fonte
Solução Swift 3 com um botão Concluído
Não esqueça de
import SafariServices
fonte
Como esta resposta está obsoleta desde o iOS 10.0, uma resposta melhor seria:
y pt Objective-c
fonte
O openURL ( :) foi descontinuado no iOS 10.0, em vez disso, você deve usar o seguinte método de instância no UIApplication: open ( : options: complementHandler :)
Exemplo de uso do Swift
Isso abrirá " https://apple.com " no Safari.
https://developer.apple.com/reference/uikit/uiapplication/1648685-open
fonte
No SWIFT 3.0
fonte
Swift 5:
Uso:
Referência:
OpenURL no iOS10
fonte
Tente o seguinte:
fonte
No Swift 1.2, tente o seguinte:
fonte
Solução Swift 4:
fonte