iOS - Как я могу определить, что текущий Wi-Fi должен пройти через экран подтверждения?

Довольно часто при подключении к общедоступному Wi-Fi вам необходимо пройти экран подтверждения, прежде чем получить доступ к широкому Интернету. В большинстве случаев после подключения через «Настройки» вы открываете Safari только для подтверждения перед использованием своих приложений.

Как я могу обнаружить это состояние в своем приложении и показать веб-представление, чтобы пользователь мог сделать это из приложения?


person Guig    schedule 07.05.2018    source источник


Ответы (1)


Вы можете использовать этот URL-адрес: https://captive.apple.com/hotspot-detect.html Если вы получаете код состояния HTTP 200 и что-то отличное от «Успех» в ответ, то вы, вероятно, общаетесь с порталом авторизации.

Или, конечно, вы можете создать свою собственную страницу обнаружения точек доступа:

<!DOCTYPE HTML>
<HTML>
<HEAD>
    <TITLE>Success</TITLE>
</HEAD>
<BODY>
Success
</BODY>
</HTML>
person Roel Koops    schedule 07.05.2018
comment
Хороший. Знаете ли вы какую-либо документацию по этому поводу? Не смог найти ни одного :( - person Guig; 08.05.2018
comment
Я также не смог найти официальную документацию, но устройства Apple запрашивают этот URL-адрес каждый раз, когда вы подключаетесь к сети Wi-Fi. Если ответ отличается от «Успех», устройство показывает ответ (возможно, страницу входа) во всплывающем окне WebView. Но вы, конечно, можете использовать и свой собственный URL, если не хотите использовать captive.apple. com/hotspot-detect.html См. мой обновленный ответ. - person Roel Koops; 08.05.2018