Как я могу получить список доступных WiFi с NEHotspotHelper (IOS, target-c)

Я уже сделал это.

1. Добавьте сертификат IOS на страницу разработчика Apple.

2. Добавьте идентификаторы Идентификаторы приложений с включенным расширением сети на странице Apple Developer.

3. Добавьте профиль инициализации на странице Apple Developer.

4. Создайте проект xcode и введите правильный идентификатор пакета, который был сделан на странице разработчика Apple. И подписать нужную команду.

5. Добавьте возможности и библиотеку (Network Extension framework).

6. После 5 файл прав автоматически генерируется в моем проекте xcode.

7. В последний раз я написал такой код.

NSLog(@"List Scan START");

NSMutableDictionary* options = [[NSMutableDictionary alloc] init];
    [options setObject:@"Try Here" forKey:kNEHotspotHelperOptionDisplayName];
    dispatch_queue_t queue = dispatch_queue_create("com.miro.wifilist", 0);

    BOOL isAvailable = [NEHotspotHelper registerWithOptions:options queue:queue handler: ^(NEHotspotHelperCommand * cmd) {
        if (cmd.commandType == kNEHotspotHelperCommandTypeEvaluate || cmd.commandType == kNEHotspotHelperCommandTypeFilterScanList ) {
            for (NEHotspotNetwork* network in cmd.networkList) {
                NSLog(@"%@", network.SSID);
            }
        } else {
            NSLog(@"there is no available wifi");
        }
    }];

if (isAvailable) {
    NSLog(@"true");
} else {
    NSLog(@"false");
}

NSLog(@"List scan END");
return @"";

Но я не могу получить список Wi-Fi. В моем источнике переменная isAvailable возвращается false.

Чтобы решить эту проблему, я попробовал это дополнительно.

Добавьте " com.apple.developer.networking.HotspotHelper " с логическим типом и "true"

-> результат этого: я могу построить проект, но не могу установить приложение на свое устройство. Я получаю сообщение об ошибке, подобное этому: " Excutable был подписан с недействительными правами ".

Я не знаю, почему не работает.

Я что-то пропускаю для аутентификации, чтобы использовать библиотеку расширения сети или NEHotspotHelper?? Или есть какая-то ошибка в моем источнике??

** После того, как я запросил библиотеку расширения сети для apple, я получил подобное сообщение от apple.

содержание сообщения от apple


Благодарим Вас за запрос информации о платформе расширения сети. Обратите внимание, что с 10 ноября 2016 года этот процесс не требуется для разработчиков, которые хотят использовать API-интерфейсы прокси-сервера приложений, фильтра содержимого или туннеля пакетов. Чтобы использовать эти службы, перейдите в свою учетную запись разработчика по адресу https://developer.apple.com/account/ и выберите возможность расширения сети для идентификатора приложения, который вы будете использовать для своего приложения.

Если вы запрашиваете разрешение для API Hotspot Helper, ваш запрос будет рассмотрен в ближайшее удобное для вас время.

С Уважением,

Техническая поддержка разработчиков

Отношения Apple с разработчиками по всему миру


2 ответа

Решение
  1. Вам необходимо заполнить анкету по адресу https://developer.apple.com/contact/network-extension, а затем вы можете использовать NEHotspotHelper, чтобы вернуть список горячих точек.
  2. Apple отправляет это сообщение:
  3. В настройках своего профиля обеспечения на странице Apple Developer возьмите расширенное представление (добавьте "com.apple.developer.HotspotHelper" с логическим типом и "true"), как это

Стоит подчеркнуть, что на самом деле невозможно получить список доступных точек доступа Wi-Fi на устройстве iOS. Пожалуйста, прочитайте этот пост:

Форумы разработчиков Apple: список доступных сетей Wi-Fi

Другие вопросы по тегам