У меня есть функция, которая определяет текущий SSID от пользователя. К сожалению, это больше не работает с iOS 12. Это означает, что он просто перескакивает через if let interfaceInfo = CNCopyCurrentNetworkInfo(interface as! CFString) as NSDictionary? {
часть. Возможно, это просто ошибка или она устарела. Я ничего не нашел в Apple Docs. На старых устройствах iOS 11, 10 и 9 он работает хорошо.
Вот мой код:
func getWiFiSsid() -> String? {
if let interfaces = CNCopySupportedInterfaces() as NSArray? {
for interface in interfaces {
if let interfaceInfo = CNCopyCurrentNetworkInfo(interface as! CFString) as NSDictionary? {
ssid = interfaceInfo[kCNNetworkInfoKeySSID as String] as? String
}
}
}
return ssid
}
if let
для приведения к необязательному не имеет смысла. И не используйтеNSArray
илиNSDictionary
в Swift. - person rmaddy   schedule 08.06.2018CNCopyCurrentNetworkInfo
: Чтобы использовать эту функцию в iOS 12 и более поздних версиях, включите возможность добавления информации о WiFi для своего приложения в Xcode. Когда вы включаете эту возможность, Xcode автоматически добавляет разрешение «Добавить информацию о WiFi» в ваш файл полномочий и добавляет соответствующую функцию к вашему идентификатору приложения. - person rmaddy   schedule 08.06.2018