Sobes.tech
Junior — Middle

Эки башка колдонмо ортосунда маалымат алмашууну кантип уюштурасыз?

sobes.tech AI

AIден жооп

Ике ар түрдүү iOS тиркемеси ортасида маълумот алмашиш учун бир неча ютуллар мавжуд:

  • URL схемалари (Custom URL Schemes): ҳар бир тиркема уникал схемани рўйхатга олади, ва бири бошқасини URL орқали параметрлар билан очиши мумкин.

  • Universal Links: замонавий усул бўлиб, у тиркемани линк орқали очишга имкон беради, агар у ўрнатилган бўлса.

  • UIPasteboard (Умумий буфер): тиркемалар маълумотларни умумий буфер орқали алмашиши мумкин.

  • Тиркемалар гуруҳлари ва умумий контейнерлар: агар тиркемалар бир хил ишлаб чиқувчига тегишли бўлса, умумий гуруҳни созлаш ва маълумотларни сақлаш учун умумий контейнердан фойдаланиш мумкин.

  • Keychain билан бўлишиш: бир хил ишлаб чиқувчига тегишли тиркемалар ўртасида сезгир маълумотларни алмашиш учун.

Масалан, Custom URL схемасидан фойдаланиш:

// Биринчи тиркема
if let url = URL(string: "myapp2://data?value=123") {
    if UIApplication.shared.canOpenURL(url) {
        UIApplication.shared.open(url)
    }
}

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