Проблема хранения значения ключа iCloud

У меня есть следующий код, чтобы отправить данные приложения в облако и обновить хранилище устройства, используя значения iCloud.

Однако он не обновляет хранилище на устройстве значениями iCloud.

Два наиболее важных значения для синхронизации - это монеты и точки, которые я включил в приведенный ниже код на случай, если с этим возникнут проблемы.

Обновите iCloud:

func updateiCloud(){
    if (Reachability.isConnectedToNetwork()){

        if (defaults.bool(forKey: "UpdatedLocal")){
            iCloudKeyStore?.set(Int64(points), forKey: "Points")
            iCloudKeyStore?.set(Int64(coins), forKey: "Coins")

            iCloudKeyStore?.synchronize()
            //other values are synced
        }
    }
}

Обновление Local:

func updateLocal() {
    if (Reachability.isConnectedToNetwork()){
        if (!defaults.bool(forKey: "UpdatedLocal")) {
            defaults.set(iCloudKeyStore?.longLong(forKey: "Points"), forKey: "Points")
            points = defaults.integer(forKey: "Points")
            defaults.set(iCloudKeyStore?.longLong(forKey: "Coins"), forKey: "Coins")
            coins = defaults.integer(forKey: "Coins")

            defaults.set(true, forKey: "UpdatedLocal")
        }
        else {
            defaults.set(false, forKey: "firstLaunch")
            AppDelegate.firstLaunch = false
            defaults.set(true, forKey: "UpdatedLocal")
        }
    }
    else {
        defaults.set(false, forKey: "UpdatedLocal")
    }
}

0 ответов

Другие вопросы по тегам