Невозможно получить SSID Wi-Fi ios 12

Я не могу получить SSID Wi-Fi (уникальный ключ для Wi-Fi). Я видел много ответов, но у меня ничего не работает.

Наиболее частый ответ, который я нашел, заключался в том, чтобы включить в Xcode в разделе

Цели -> Возможности -> Доступ к информации о Wi-Fi -> Включите его.

Моя версия Xcode - 10.1, там нет опции для Доступ к информации о Wi-Fi. Поэтому я включил Конфигурация беспроводного аксессуара.

Мой код

extension UIDevice {

    public var SSID: String?{
        get {
            guard let interfaces = CNCopySupportedInterfaces() as? [String] else { return nil }
            let key = kCNNetworkInfoKeySSID as String
            for interface in interfaces {
                guard let interfaceInfo = CNCopyCurrentNetworkInfo(interface as CFString) as NSDictionary? else { continue }
                return interfaceInfo[key] as? String
            }
            return nil
        }
    }
}

Моя быстрая версия - 4.2, а целевая версия сборки - 12.1. Я новичок в разработке iOS. Пожалуйста, дайте мне знать, что я делаю неправильно. Как я могу это исправить.


person Usman Saeed    schedule 29.12.2018    source источник


Ответы (2)


Моя версия Xcode - 10.1, там нет опции для доступа к информации Wi-Fi.

Тогда что-то не так с вашим проектом Xcode, Xcode или вашим профилем разработчика ...

WiFi

Убедитесь, что ваш проект обновлен до последней версии конфигурации Xcode (обычно я просто создаю проект и проверяю предупреждения)

У меня нет учетной записи в магазине приложений, я только что создал новый идентификатор Apple

Как указано в разделе Выбор членства / преимуществ и ресурсов, «Расширенные возможности приложения» - это недоступно для «Войти с Apple ID» (или бесплатных учетных записей разработчиков), это может объяснить, почему «Доступ к информации Wi-Fi» вам недоступен.

person Community    schedule 29.12.2018
comment
Спасибо за ответ . Я проверил версию Xcode, она такая же, как у вас. Не получаю никаких предупреждений об этом, также я создал новый проект, информации о доступе к Wi-Fi нет - person Usman Saeed; 29.12.2018
comment
У вас есть платная учетная запись разработчика? - person MadProgrammer; 29.12.2018
comment
загрузил этот xcode из магазина приложений 2 недели назад .. У меня нет учетной записи в магазине приложений, я только что создал новый идентификатор яблока - person Usman Saeed; 29.12.2018
comment
Значит, у вас нет платной учетной записи разработчика? Это может быть ограничение бесплатных учетных записей. Вы можете войти на сайт developer.apple.com и проверить права приложений, перечисленные под идентификаторами - ›Идентификаторы приложений. - person MadProgrammer; 29.12.2018
comment
Спасибо, человек, вы правы, чтобы иметь информацию о ssid, вам нужна платная учетная запись разработчика. - person Usman Saeed; 31.12.2018

После включения Wireless Accessory Configuration Xcode генерирует entitlements, которые включают Wireless Accessory Configuration в ваш проект.

распечатайте свой interfaces, он должен включать en0

CNCopyCurrentNetworkInfo описание api следующим образом:

Important

Чтобы использовать эту функцию в iOS 12 и более поздних версиях, включите возможность доступа к информации Wi-Fi для своего приложения в Xcode. Когда вы включаете эту возможность, Xcode автоматически добавляет право доступа к информации Wi-Fi в ваш файл прав и идентификатор приложения.

мой работает нормально, убедитесь, что у вас есть Wi-Fi на iphone, а не на simulator.

person Ethan    schedule 29.12.2018
comment
Я сделал интерфейс печати, чтобы включить en0, это SSID = en0? - person Usman Saeed; 29.12.2018
comment
выполнить отладку for interface in interfaces шаг за шагом, возвращает ли CNCopyCurrentNetworkInfo словарь? у меня так: 3 элемента ▿ 0: 2 элемента - ключ: SSIDDATA - значение: ‹71697969 2d707269 76617465 2d706b69 28354729› ▿ 1: 2 элементы - ключ: BSSID - значение: 74: ea: cb: d7: 8c: 2 ▿ 2 : 2 элемента - ключ: SSID - значение: qiyi-private-pki (5G) - person Ethan; 29.12.2018
comment
Нет, он не возвращается в виде словаря: - person Usman Saeed; 29.12.2018
comment
Ваш iphone подключил действующий Wi-Fi? - person Ethan; 29.12.2018
comment
он подключен к моему imac обмена Wi-Fi - person Usman Saeed; 29.12.2018
comment
werid, есть ли у вашего проекта cotains xxx.entitlements, ключ Wireless Accessory Configuration существует и включить true - person Ethan; 29.12.2018
comment
Я также проверил действующий Wi-Fi. Та же проблема. Ваш код такой же, как мой? - person Usman Saeed; 29.12.2018
comment
он содержит xxx.entitlements, а ключ содержит Wireless Accessory Configuration - да - person Usman Saeed; 29.12.2018
comment
в разделе Цели - ›Возможности -› Конфигурация беспроводного аксессуара, есть ли три шага, и все ли они отмечены правильно? - person Ethan; 29.12.2018
comment
хахахха Спасибо ›› :) - person Usman Saeed; 29.12.2018
comment
Вы используете платную учетную запись разработчика? \ - person Usman Saeed; 29.12.2018
comment
Мне нужна услуга, не могли бы вы прислать мне образец рабочего кода для имени Wi-Fi :) может быть что-то отсутствует, что я не могу найти - person Usman Saeed; 31.12.2018
comment
Спасибо за помощь. Моя проблема решена с помощью платной учетной записи разработчика. - person Usman Saeed; 31.12.2018