İOS 10 ve üstü için GÜNCELLEME
CNCopySupportedInterfaces artık iOS 10'da kullanımdan kaldırılmıyor ( API Başvurusu )
SystemConfiguration / CaptiveNetwork.h dosyasını içe aktarmanız ve hedefinizin Bağlantılı Kütüphanelerine (derleme aşamaları altında) SystemConfiguration.framework eklemeniz gerekir.
İşte hızlıca bir kod snippet'i (RikiRiocma's Answer) :
import Foundation
import SystemConfiguration.CaptiveNetwork
public class SSID {
class func fetchSSIDInfo() -> String {
var currentSSID = ""
if let interfaces = CNCopySupportedInterfaces() {
for i in 0..<CFArrayGetCount(interfaces) {
let interfaceName: UnsafePointer<Void> = CFArrayGetValueAtIndex(interfaces, i)
let rec = unsafeBitCast(interfaceName, AnyObject.self)
let unsafeInterfaceData = CNCopyCurrentNetworkInfo("\(rec)")
if unsafeInterfaceData != nil {
let interfaceData = unsafeInterfaceData! as Dictionary!
currentSSID = interfaceData["SSID"] as! String
}
}
}
return currentSSID
}
}
( Önemli: CNCopySupportedInterfaces simülatörde sıfır döndürür.)
Objective-c için Esad'ın buradaki ve aşağıdaki cevabına bakınız.
+ (NSString *)GetCurrentWifiHotSpotName {
NSString *wifiName = nil;
NSArray *ifs = (__bridge_transfer id)CNCopySupportedInterfaces();
for (NSString *ifnam in ifs) {
NSDictionary *info = (__bridge_transfer id)CNCopyCurrentNetworkInfo((__bridge CFStringRef)ifnam);
if (info[@"SSID"]) {
wifiName = info[@"SSID"];
}
}
return wifiName;
}
İOS 9 İÇİN GÜNCELLEME
İOS 9'dan itibaren Sabit Ağ kullanımdan kaldırıldı *. ( kaynak )
* Artık iOS 10'da kullanımdan kaldırılmadı, yukarıya bakın.
NEHotspotHelper ( kaynak ) kullanmanız önerilir
Apple'a networkextension@apple.com adresinden e-posta göndermeniz ve yetkiler istemeniz gerekir. ( kaynak )
Örnek Kod ( Kodum değil. Pablo A'nın cevabına bakınız ):
for(NEHotspotNetwork *hotspotNetwork in [NEHotspotHelper supportedNetworkInterfaces]) {
NSString *ssid = hotspotNetwork.SSID;
NSString *bssid = hotspotNetwork.BSSID;
BOOL secure = hotspotNetwork.secure;
BOOL autoJoined = hotspotNetwork.autoJoined;
double signalStrength = hotspotNetwork.signalStrength;
}
Yan not: Evet, iOS 9'daki CNCopySupportedInterfaces'ı kullanımdan kaldırdılar ve iOS 10'daki konumlarını tersine çevirdiler. Bir Apple ağ mühendisiyle konuştum ve geri dönüş, birçok insanın Radar'ları dosyalayıp Apple Geliştirici forumlarındaki sorun hakkında konuştuktan sonra geldi.