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
}