Проблемы синхронизации хранилища ключей и значений ключей iCloud (NSUbiquitousKeyValueStoreDidChangeExternallyNotification не вызывается)

Я пишу небольшую универсальную игру для iOS. Рекорд будет синхронизироваться между устройствами через хранилище ключей / значений iCloud.

получить новейшую оценку:

func retrieveHighestScore() -> Int64 {
        let iCloudScore: Int64 = NSUbiquitousKeyValueStore.defaultStore().longLongForKey(KeyValueKeyClassification.KeyHighscore.toRaw())
        let localScore: Int64 = Int64(NSUserDefaults.standardUserDefaults().integerForKey(KeyValueKeyClassification.KeyHighscore.toRaw()))
        var result: Int64 = 0

        if localScore > iCloudScore {
            storeNewHighscore(localScore)
            result = localScore
        } else {
            storeNewHighscore(iCloudScore)
            result = iCloudScore
        }
        return result
    }

хранение нового рекорда

func storeNewHighscore(newScore: Int64) {
        NSUbiquitousKeyValueStore.defaultStore().setLongLong(newScore, forKey: KeyValueKeyClassification.KeyHighscore.toRaw())
        NSUserDefaults.standardUserDefaults().setInteger(Int(newScore), forKey: KeyValueKeyClassification.KeyHighscore.toRaw())
        if NSUbiquitousKeyValueStore.defaultStore().synchronize() {
            println("Synched Successfully")
        }
    }

однако по некоторым причинам оценки не синхронизируются.

нет ошибокбез сбоевнет нулевых значений

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

Может быть причина в itunesconnect или что-то не так с моим кодом? я использую ipad и iphone для тестирования, оба вошли в свою учетную запись icloud.

я регистрируюсь для таких изменений:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
        // Override point for customization after application launch.

        NSNotificationCenter.defaultCenter().addObserver(self, selector: "icloudKeyValueChanged", name: NSUbiquitousKeyValueStoreDidChangeExternallyNotification, object: nil)
        if NSUbiquitousKeyValueStore.defaultStore().synchronize() {
            println("initial Synched Successfully")
        }

        return true
    }

но функция icloudKeyValueChanged никогда не вызывается.

Возможности iCloud все в порядке, как кажется:

Ответы на вопрос(2)

Ваш ответ на вопрос