SwiftHTML & CSSSolidityDesenvolvimento de JogosSolana/Rust
01.12.2024

Aula 192: Implementando Esquemas de URL Personalizados

Esquemas de URL personalizados permitem que suas aplicações iOS se comuniquem de maneira eficiente umas com as outras. Ao definir um esquema de URL personalizado, seu aplicativo pode responder a URLs específicas e realizar ações apropriadas ou navegar para determinadas telas. Nesta aula, vamos explorar como configurar um esquema de URL personalizado em uma aplicação Swift e como lidar com URLs recebidas.

Etapa 1: Definir o Esquema de URL Personalizado

  1. Abra seu projeto no Xcode.
  2. Selecione seu projeto no Navegador de Projetos e vá até a aba "Info".
  3. Em "Tipos de URL", clique no botão "+" para adicionar um novo tipo de URL.
  4. No campo "Identificador", insira um identificador único, como com.exemplo.meuapp.
  5. No campo "Esquemas de URL", defina seu esquema personalizado, por exemplo, meuapp.

Agora, seu aplicativo pode ser aberto com URLs que começam com meuapp://.

Etapa 2: Lidando com URLs Recebidas

Em seguida, você vai querer lidar com as URLs que seu aplicativo recebe. Para isso, é necessário sobrescrever o método application(_:open:options:) em seu AppDelegate.

Exemplo de Código:

import UIKit

@main
class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?

    func application(_ application: UIApplication,
                     open url: URL,
                     options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
        // Lida com a URL recebida
        return handleIncomingURL(url: url)
    }

    private func handleIncomingURL(url: URL) -> Bool {
        // Exemplo de como lidar com diferentes caminhos e parâmetros
        guard let scheme = url.scheme, scheme == "meuapp" else {
            return false
        }

        if let host = url.host {
            switch host {
            case "open":
                // Exemplo: meuapp://open?param=valor
                if let queryItems = URLComponents(url: url, resolvingAgainstBaseURL: false)?.queryItems {
                    for item in queryItems {
                        if item.name == "param" {
                            print("Parametro recebido: \(item.value ?? "")")
                        }
                    }
                }
                return true
            default:
                return false
            }
        }
        return false
    }
}

Neste código:

  • Verificamos se o esquema da URL recebida corresponde ao nosso esquema definido.
  • Lidamos com um host específico chamado open e buscamos um parâmetro de consulta chamado param.

Etapa 3: Testando o Esquema de URL Personalizado

Para testar seu esquema de URL personalizado:

  1. Execute seu aplicativo no simulador iOS ou em um dispositivo real.
  2. Abra o Safari ou o aplicativo Notas.
  3. Insira sua URL personalizada, por exemplo, meuapp://open?param=valor, e pressione enter.

Seu aplicativo deve abrir e você deve conseguir ver a mensagem de log exibida no console, mostrando o parâmetro recebido.

Conclusão

Nesta aula, aprendemos como implementar um esquema de URL personalizado em uma aplicação Swift. Definimos o esquema, lidamos com URLs recebidas e testamos a implementação. Esquemas de URL personalizados podem melhorar significativamente a interatividade e a usabilidade do seu aplicativo, permitindo que ele se comunique com outros aplicativos de forma integrada.

Video

Did you like this article? Rate it from 1 to 5:

Thank you for voting!