Sobes.tech
Junior — Middle

Como organiza a troca de informações entre duas aplicações diferentes?

sobes.tech IA

Resposta da IA

Para trocar informações entre duas aplicações iOS diferentes, podem ser utilizados vários métodos:

  • Esquemas de URL (Custom URL Schemes): cada aplicação regista um esquema único, e uma pode abrir a outra passando parâmetros através da URL.

  • Links Universais (Universal Links): método mais moderno que permite abrir a aplicação através de um link, se estiver instalada.

  • UIPasteboard (Área de transferência partilhada): as aplicações podem trocar dados através da área de transferência partilhada.

  • Grupos de aplicações e Contentor partilhado: se as aplicações pertencem ao mesmo desenvolvedor, pode configurar-se um grupo comum e usar um contentor partilhado para armazenar dados.

  • Partilha de Keychain: para trocar dados sensíveis entre aplicações do mesmo desenvolvedor.

Exemplo de uso de esquema de URL personalizado:

// Na primeira aplicação
if let url = URL(string: "myapp2://data?value=123") {
    if UIApplication.shared.canOpenURL(url) {
        UIApplication.shared.open(url)
    }
}

// Na segunda aplicação, deve-se tratar a URL recebida no AppDelegate
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
    if url.scheme == "myapp2" {
        // tratar os parâmetros
        return true
    }
    return false
}