Какой метод лучше решить, какой пользователь вошел в систему?ubiquityIdentityToken против CKContainer accountStatusWithCompletionHandler
let ubiquityIdentityToken = NSFileManager.defaultManager().ubiquityIdentityToken
возвращает токен, и клиент может сравнить его, как и в прошлый раз. Преимущество в том, что он возвращает токен, если устройство также отключено.
accountStatusWithCompletionHandler
возвращает только значение статуса, но не идентификатор или токен о том, кто вошел в систему. Поэтому в автономном режиме это бесполезно.
Я прав?
Моя другая проблема, что иногда даже пользователь вошел в систему и онлайн ubiquityIdentityToken
возвращает nil.
Как получить идентификатор пользователя при запуске?
Я получаю странную ошибку, зарегистрированную в iCloud, но 'accountStatusWithCompletionHandler' возвращает значение' .NoAccount'. Я предполагаю, что этот метод работает, только если используется частная база данных, но я использую только общедоступную БД. http://stackoverflow.com/questions/34091839/ckcontainer-accountstatuswithcompletionhandler-returns-wrong-value –
@ János У меня такая же проблема теперь с использованием Simulator с базой данных разработки. Ищете кого-то, кто понял, в чем проблема. Это происходит только в одном кодовом пути - коротком - и не на более длинном пути. –
@ János Я понял это - класс, который запрашивал информацию об учетной записи, освобождался, а accountStatusWithCompletionHandler находился в процессе. По какой-либо причине, которая вызывает проблему (или она может быть кратным таким запросам, не совсем уверен). –