Существующий код до iOS 26 работал хорошо, но начиная с iOS 26 получает нулевые/пустые данные ssid.
Мой старый код для iOS 26 ниже –
func fetchSSIDInfo() -> String {
var currentSSID = ""
if let interfaces = CNCopySupportedInterfaces() {
for i in 0.. String {
// iOS 14+ path (NEHotspotNetwork.fetchCurrent is async callback)
if #available(iOS 14.0, *) {
let sem = DispatchSemaphore(value: 0)
var ssidResult: String?
NEHotspotNetwork.fetchCurrent { network in
if let s = network?.ssid, !s.isEmpty {
ssidResult = s
}
sem.signal()
}
// Wait for the callback (bounded by timeout)
_ = sem.wait(timeout: .now() + timeout)
if let s = ssidResult, !s.isEmpty {
return s
}
// If NEHotspotNetwork didn't return an SSID (or timed out), fall through to CaptiveNetwork fallback.
}
// Fallback for older iOS or if NEHotspotNetwork didn't provide SSID
if let interfaces = CNCopySupportedInterfaces() as? [String] {
for interface in interfaces {
if let info = CNCopyCurrentNetworkInfo(interface as CFString) as? [String: Any],
let ssid = info["SSID"] as? String,
!ssid.isEmpty {
return ssid
}
}
}
return ""
}
Подробнее здесь: https://stackoverflow.com/questions/797 ... l-or-empty
В iOS, когда мы читаем, SSID становится нулевым или пустым? ⇐ IOS
Программируем под IOS
-
Anonymous
1762925178
Anonymous
Существующий код до iOS 26 работал хорошо, но начиная с iOS 26 получает нулевые/пустые данные ssid.
Мой старый код для iOS 26 ниже –
func fetchSSIDInfo() -> String {
var currentSSID = ""
if let interfaces = CNCopySupportedInterfaces() {
for i in 0.. String {
// iOS 14+ path (NEHotspotNetwork.fetchCurrent is async callback)
if #available(iOS 14.0, *) {
let sem = DispatchSemaphore(value: 0)
var ssidResult: String?
NEHotspotNetwork.fetchCurrent { network in
if let s = network?.ssid, !s.isEmpty {
ssidResult = s
}
sem.signal()
}
// Wait for the callback (bounded by timeout)
_ = sem.wait(timeout: .now() + timeout)
if let s = ssidResult, !s.isEmpty {
return s
}
// If NEHotspotNetwork didn't return an SSID (or timed out), fall through to CaptiveNetwork fallback.
}
// Fallback for older iOS or if NEHotspotNetwork didn't provide SSID
if let interfaces = CNCopySupportedInterfaces() as? [String] {
for interface in interfaces {
if let info = CNCopyCurrentNetworkInfo(interface as CFString) as? [String: Any],
let ssid = info["SSID"] as? String,
!ssid.isEmpty {
return ssid
}
}
}
return ""
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79786491/in-ios-when-we-read-ssid-getting-nil-or-empty[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия