Sobes.tech
Junior — Middle

Comment organisez-vous l'échange d'informations entre deux applications différentes?

sobes.tech IA

Réponse de l'IA

Pour échanger des informations entre deux applications iOS différentes, plusieurs approches peuvent être utilisées:

  • Schémas d'URL (Custom URL Schemes) : chaque application enregistre un schéma unique, et l'une peut ouvrir l'autre en passant des paramètres via l'URL.

  • Liens universels (Universal Links) : méthode plus moderne permettant d'ouvrir l'application via un lien si elle est installée.

  • UIPasteboard (Presse-papiers partagé) : les applications peuvent échanger des données via le presse-papiers partagé.

  • Groupes d'applications et conteneur partagé : si les applications appartiennent au même développeur, on peut configurer un groupe commun et utiliser un conteneur partagé pour stocker des données.

  • Partage de Keychain : pour échanger des données sensibles entre applications du même développeur.

Exemple d'utilisation d'un schéma d'URL personnalisé :

// Dans la première application
if let url = URL(string: "myapp2://data?value=123") {
    if UIApplication.shared.canOpenURL(url) {
        UIApplication.shared.open(url)
    }
}

// Dans la deuxième application, il faut gérer l'URL entrante dans AppDelegate
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
    if url.scheme == "myapp2" {
        // traiter les paramètres
        return true
    }
    return false
}