Sobes.tech
Junior — Middle

Чӣ гуна шумо мубодилаи маълумотро байни ду барномаҳои гуногун ташкил мекунед?

sobes.tech AI

Ҷавоб аз AI

Барои мубодилаи маълумот байни ду барномаи iOS-и гуногун, метавон чанд роҳро истифода бурд:

  • Шаклҳои URL (Custom URL Schemes): ҳар як барнома шакли беназири худро сабт мекунад ва яке метавонад дигарро бо гузаронидани параметрҳо тавассути URL кушояд.

  • Линкҳои умумиҷаҳонӣ (Universal Links): усули муосиртар, ки имкон медиҳад барнома тавассути пайванд кушода шавад, агар он насб шуда бошад.

  • UIPasteboard (Каши умумӣ): барномаҳо метавонанд маълумотро тавассути кашаи умумӣ мубодила кунанд.

  • Гурӯҳҳои барномаҳо ва контейнери умумӣ: агар барномаҳо аз як таҳиягар бошанд, метавон гурӯҳи умумӣ танзим кард ва истифода бурдани контейнери умумиро барои нигоҳ доштани маълумот истифода бурд.

  • Ҳамоҳангсозии Keychain: барои мубодилаи маълумоти ҳассос байни барномаҳои як таҳиягар.

Масалан, истифодаи шакли URL-и махсус:

// Дар барномаи аввал
if let url = URL(string: "myapp2://data?value=123") {
    if UIApplication.shared.canOpenURL(url) {
        UIApplication.shared.open(url)
    }
}

// Дар барномаи дуввум, бояд URL-ро дар AppDelegate коркард кард
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
    if url.scheme == "myapp2" {
        // параметрҳоро коркард кунед
        return true
    }
    return false
}