UPDATE UNTUK iOS 10 dan lebih tinggi
CNCopySupportedInterfaces tidak lagi ditinggalkan di iOS 10. ( Referensi API )
Anda perlu mengimpor SystemConfiguration / CaptiveNetwork.h dan menambahkan SystemConfiguration.framework ke Pustaka Tertaut target Anda (dalam tahap pembuatan).
Berikut ini cuplikan kode dalam swift (Jawaban RikiRiocma) :
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
}
}
( Penting: CNCopySupportedInterfaces mengembalikan nol pada simulator.)
Untuk Objective-c, lihat jawaban Esad di sini dan di bawah
+ (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;
}
PEMBARUAN UNTUK iOS 9
Pada iOS 9 Captive Network sudah usang *. ( sumber )
* Tidak lagi ditinggalkan di iOS 10, lihat di atas.
Disarankan Anda menggunakan NEHotspotHelper ( sumber )
Anda perlu mengirim email ke apple di networkextension@apple.com dan meminta hak. ( sumber )
Kode Contoh ( Bukan kode saya. Lihat jawaban Pablo A ):
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;
}
Catatan: Yup, mereka mencela CNCopySupportedInterfaces di iOS 9 dan membalikkan posisi mereka di iOS 10. Saya berbicara dengan insinyur jaringan Apple dan pembalikan itu terjadi setelah begitu banyak orang yang mengajukan Radars dan berbicara tentang masalah ini di forum Pengembang Apple.