Вы должны добавить ссылку на пакет NuGet, содержащий требуемый API из другой библиотеки, которую вы пишете. Какую версию вы должны выбрать? Тебе решать. Одна общая философия говорит, чтобы ссылаться на самую низкую версию, которая имеет API, который вы хотите, чтобы ваша библиотека могла использоваться из большинства мест. Любой, ссылающийся на вашу библиотеку, все еще может «поднять» версию до более высокой версии, и вообще нет проблем с этим (исключение происходит, когда происходят нарушения).
Не ссылайтесь на DLL непосредственно с диска , Это вызывает проблемы, такие как затруднение управления источником (разные машины имеют разные пути) и упрощение управления зависимостями (простой способ обновления зависимостей).
надеюсь, что это поможет
func getWiFiName() -> String? {
var ssid: 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
break
}
}
}
return ssid
}
если это значение вернет ноль, то вы подключитесь через сотовую связь, если устройство подключено к Wi-Fi, тогда оно вернет имя Wi-Fi (SSID), не забудьте включить сеть расширения и доступ к информации Wi-Fi о возможностях проекта
ЭТО НЕ РАБОТАЕТ НА СИМУЛЯТОРЕ (ЭТО ДОЛЖНО БЫТЬ РЕАЛЬНЫМ УСТРОЙСТВОМ) !!!! и добавить эти два
import NetworkExtension
import SystemConfiguration.CaptiveNetwork
Вы можете использовать Reachability.swift Либо вы используете это, либо получите некоторое представление о том, как создается и работает какой-то определенный поток.
Он имеет перечисление Connection , которое выглядит следующим образом:
public enum Connection: CustomStringConvertible {
case none, wifi, cellular
public var description: String {
switch self {
case .cellular: return "Cellular"
case .wifi: return "WiFi"
case .none: return "No Connection"
}
}
}
И NetworkStatus :
public enum NetworkStatus: CustomStringConvertible {
case notReachable, reachableViaWiFi, reachableViaWWAN
public var description: String {
switch self {
case .reachableViaWWAN: return "Cellular"
case .reachableViaWiFi: return "WiFi"
case .notReachable: return "No Connection"
}
}
}
И оттуда вы может сделать следующее: