Проблема хранения значения ключа 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")
}
}