Sobes.tech
Junior — Middle

Hogyan szervezed meg az információcserét két különböző alkalmazás között?

sobes.tech MI

Válasz az MI-től

Két különböző iOS alkalmazás közötti információcsere többféle megközelítéssel valósítható meg:

  • URL-sémák (Custom URL Schemes): minden alkalmazás regisztrál egy egyedi sémát, és egyik alkalmazás megnyithatja a másikat URL paraméterek átadásával.

  • Universal Links: egy modernebb módszer, amely lehetővé teszi az alkalmazás megnyitását egy link segítségével, ha az telepítve van.

  • UIPasteboard (Közös vágólap): az alkalmazások adatokat cserélhetnek a közös vágólap segítségével.

  • Alkalmazáscsoportok és megosztott tartályok: ha az alkalmazások ugyanahhoz a fejlesztőhöz tartoznak, beállíthatnak közös csoportot és megosztott tartályt az adatok tárolására.

  • Keychain megosztás: érzékeny adatok cseréje ugyanazon fejlesztő alkalmazásai között.

Példa a Custom URL Scheme használatára:

// Az első alkalmazásban
if let url = URL(string: "myapp2://data?value=123") {
    if UIApplication.shared.canOpenURL(url) {
        UIApplication.shared.open(url)
    }
}

// A második alkalmazásban az URL-t az AppDelegate-ben kell kezelni
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
    if url.scheme == "myapp2" {
        // paraméterek feldolgozása
        return true
    }
    return false
}