if let cachedUser = PFUser.current() {
// proceed to save some objects
} else {
PFAnonymousUtils.logIn{ (user, error) in
// proceed to save some objects
if ((error as NSError).code == 209) {
// session expired, logout and call PFAnonymousUtils.logIn again later
PFUser.logOut()
}
}
}
Для простого мобильного приложения Swift мы сохраняем данные на сервере разбора анонимно. Если есть ошибка истечения сеанса (1 год по умолчанию на сервере Parser), нам придется что-то с этим делать, иначе мы больше ничего не сможем сохранить. Поэтому мы выходим из системы и снова авторизируемся.
Как только мы выходим из системы и снова авторизируемся, это создает второго нового пользователя в бэкэнде.
Это создает проблему - у нас больше нет точной картины количества пользователей на сервере.
Что было не так в потоке выше? Есть ли способ предотвратить дублирование анонимного пользователя при обработке просроченного сеанса?