Итак, я начал создавать приложение для веб-сайта в Swift. Основная цель — создать приложение для iOS, которое может получать уведомления (в формате JSON с веб-сайта) и отображать все функции веб-сайта.
Таким образом, я могу войти и зарегистрироваться из приложения в моей базе данных, но дело в том, что я не понимаю, как получить мой сеанс входа в систему и отобразить его в UIWebView. Таким образом, пользователь просто должен войти в систему, и он может видеть веб-сайт со своей учетной записью. Единственное, что я могу сделать, это показать сайт в качестве гостя.
Может кто-то помочь мне, пожалуйста ?
Насколько я знаю, UIWebView не хранит и не отправляет файлы cookie (сессии) для вашего веб-сайта. Это означает, что вы всегда не аутентифицированы.
Чтобы выполнить свою задачу, вам нужно создать собственный механизм обработки файлов cookie.
Вам необходимо сохранить аутентичные куки, отправленные вам сервером в ответном HTTP-заголовке, например,
Set-Cookie: JSESSIONID=ABAD1D;
Затем вам нужно сделать любой требуемый запрос и вручную поместить заголовок cookie в заголовок вашего запроса, например.
Cookie: JSESSIONID=ABAD1D
Сохраните ответ где-нибудь и визуализируйте HTML в WebView
НИЖНЯЯ ЛИНИЯ: Все эти вещи — огромные накладные расходы для вашего приложения. Вместо этого вам нужно написать API вашего веб-сайта специально для iOS (и других) приложений, используя другой подход аутентификации и передачи данных (хорошо известно).
Что вы хотите сделать, так это создать небольшой браузер, я не думаю, что это хорошая идея.
Других решений пока нет …