Fix CNCopyCurrentNetworkInfo() does NOT work in iOS13 and later
import Foundation
import SystemConfiguration.CaptiveNetwork
func getSSID() -> 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
}To use
CNCopyCurrentNetworkInfo()in iOS 12 and later, enable the Access WiFi Information capability in Xcode. For more information, see Access WiFi Information Entitlement.
Watch WWDC19 Session 713: Advances in Networking, Part 2.
Now you all know the important privacy to Apple. And one of the things we realized. Is that... Accessing Wi-Fi information can be used to infer location.
So starting now, to access that Wi-Fi information. You'll need the same kind of privileges that you'll need to get other location information.
Requires Capability: Access Wi-Fi Information
Must also meet at least one of criteria below
- Apps with permission to access location
 - Currently enabled VPN app
 - NEHotspotConfiguration (only Wi-Fi networks that the app configured)
 
Otherwise, returns nil
Import Core Location framework
import CoreLocationFunction to update UI
func updateWiFi() {
    print("SSID: \(currentNetworkInfos?.first?.ssid)")
    ssidLabel.text = getSSID()
}Ask location permission
if #available(iOS 13.0, *) {
    let status = CLLocationManager.authorizationStatus()
    if status == .authorizedWhenInUse {
        updateWiFi()
    } else {
        locationManager.delegate = self
        locationManager.requestWhenInUseAuthorization()
    }
} else {
    updateWiFi()
}Implement CLLocationManagerDelegate
class ViewController: UIViewController, CLLocationManagerDelegate {
    ...
    func locationManager(_ manager: CLLocationManager, didChangeAuthorization status: CLAuthorizationStatus) {
        if status == .authorizedWhenInUse {
            updateWiFi()
        }
    }
    ...
}If your app uses CNCopyCurrentNetworkInfo() and needs to solve the issue. Solve it now. There's no need to wait for Xcode 11 GM. The solution above is Xcode 10 compatible.
.png)