#iphone #objective-c #cocoa-touch #sqlite #ios4
#iPhone #objective-c #cocoa-touch #sqlite #ios4
Вопрос:
У меня есть приложение, которое обменивается данными с веб-сервером. На этом веб-сервере установлена база данных SQLite.
Пользователь может войти в свою учетную запись из приложения.
Я хочу убедиться, что если пользователь уже вошел в систему с одного устройства, он не сможет одновременно войти в систему с другого устройства.
Как я могу этого добиться?
Комментарии:
1. Как насчет добавления строки в sqlitedb, которая устанавливает значение 1/0 при входе в систему? и если вы пытаетесь войти в систему, когда переменная равна 1, вы не можете?
2. Да, я думал об этом решении, но как мне сбросить флаг, поскольку пользователь может напрямую выйти из приложения, и мы не можем обнаружить закрытие приложения.
Ответ №1:
С задачей может справиться небольшая хитрость:
For that you need to have some **Boolean variable** inside your **SQlite Table in server**. So, when you are successfully logged in make that boolean to true .And please check this variable value to be True or False when doing login.
Если вы уже вошли в другое приложение, то этот Bool стал бы True, что означает, что вы можете выполнить вход.
Надеюсь, этот трюк вам очень поможет
Комментарии:
1. Да, я думал об этом решении, но как мне сбросить этот флаг, поскольку пользователь может напрямую выйти из приложения, и мы не можем обнаружить закрытие приложения.
2. Для выхода из системы также необходимо создать другой webservice….in при успешном выходе из системы вам нужно вернуть значение bool, чтобы проверить, успешно ли пользователь вышел из системы или нет. А затем, при успешном завершении, обновите значение Bool на False . 🙂