iOS 9 — избегайте появления Captive Portal с помощью нового NEHotspotHelper

Мне нужно предоставить доступ к закрытой сети, но только для определенного набора пользователей, поэтому я буду выполнять аутентификацию через приложение.

До iOS 9 я мог использовать CNSetSupportedSSIDs, чтобы система не отображала закрытый портал. Начиная с iOS 9, CNSetSupportedSSIDs всегда возвращает false.

Приведет ли новый API NetworkExtension, особенно NEHotspotHelper, к тому же результату, что и CNSetSupportedSSIDs? Я не могу протестировать сам, так как я только что попросил у Apple права (и я слышал, что для получения ответа требуется 3 недели ...).

Спасибо за вашу помощь


person Yaman    schedule 16.11.2015    source источник


Ответы (2)


Яман, я не уверен в ответе. Но для вашего ответа от команды разработчиков Apple это не займет 3 недели. Вы можете получить ответ в течение 2-3 дней. У вас есть 2 возможности задать вопросы команде разработчиков с платной учетной записью разработчика. Я сам получил ответ через 2 дня. Просто сохрани надежду

person Sabby    schedule 16.11.2015
comment
Привет, Сабби, на самом деле я имел в виду не получение ответа на технический вопрос (это заняло 2 дня, да), а получение ответа на запрос прав NetworkExtension API. У кого-то ушло 3 недели на это :/ - person Yaman; 16.11.2015
comment
К сожалению, извините... Но все же это еще много времени, если это так, могут быть какие-то другие способы сделать это быстро. Держите пальцы скрещенными...J - person Sabby; 16.11.2015
comment
@Yaman Возвращаясь к первоначальному вопросу, с вашими правами и всем остальным, NEHotspotHelper предотвратил появление портала авторизации? - person Pierre; 21.02.2017
comment
@Pierre На самом деле Apple не предоставила нам доступ к праву, потому что, по их мнению, мы не подходим для программы. - person Yaman; 21.02.2017

NEHotspotHelper может предотвратить появление портала авторизации.

Чтобы обработать команду hotspotHelper:

Шаг 1. kNEHotspotHelperCommandTypeEvaluate:

NEHotspotHelperResponse *response = [command createResponse:kNEHotspotHelperResultSuccess];
[network setConfidence:kNEHotspotHelperConfidenceHigh];
[response setNetwork:network];
[response deliver];

Шаг 2. kNEHotspotHelperCommandTypeAuthenticate:

NEHotspotHelperResponse *response = [command createResponse:kNEHotspotHelperResultSuccess];
[response deliver];
person applezqp    schedule 05.12.2018