CaptiveNetwork: использование CNSetSupportedSSID - PullRequest
8 голосов
/ 24 ноября 2011

Я попытался использовать CaptiveNetwork для замены веб-листа, который используется для аутентификации пользователя в сети. Этот метод CNSetSupportedSSID .

Я пытался добавить этот метод в AppDelegate моего приложения, но когда я хочу использовать точку доступа с идентификатором SSID, который я зарегистрировал описанным выше способом, ничего не происходит. Веб-лист не отображается, но мое приложение не открывается.

Это мой код:

CFStringRef ssids[2] = { CFSTR("Wifi 1"), CFSTR("Wifi 2") };
CFArrayRef arr_ssids = CFArrayCreate(NULL, (const void **)ssids, 2, &kCFTypeArrayCallBacks);

if( CNSetSupportedSSIDs((CFArrayRef)array))
{
    NSLog(@"Successfully registered supported network SSIDs");
}
else
{
    NSLog(@"Error: Failed to register supported network SSIDs");
}
CFRelease(arr_ssids);

PS: я также добавил схему URL в свое приложение.

Спасибо за ваши ответы!

Ответы [ 3 ]

3 голосов
/ 06 июня 2012

Я отправил сообщение об ошибке в яблоко, и они ответили, что оно не появится в нашем приложении.

1 голос
/ 20 октября 2014

Похоже, это не полная реализация Apple.Вы должны иметь действительные «права», чтобы использовать их системную библиотеку.См. Этот удобный пост, объясняющий это немного больше:

0 голосов
/ 23 февраля 2012

В любом случае, этот код содержит type-o.CNSetSupportedSsids должен быть снабжен arr_ssids в вашем фрагменте кода здесь.Я не знаю, что это за переменная «массив», но она, вероятно, не содержит данных, которые вы хотели бы.

...