iCloud密钥值存储问题

时间:2017-12-25 00:49:05

标签: swift icloud nsubiquitouskeyvaluestore

我有以下代码将应用程序的数据推送到云端,并使用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
        }
    }
}

更新本地:

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 个答案:

没有答案