ユーザーから現在の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
}
IOS 12以降でこの機能を使用するには、XcodeでアプリのWiFi情報へのアクセス機能を有効にします。この機能を有効にすると、XcodeはAccess WiFi情報の資格を資格ファイルとApp IDに自動的に追加します。