IOS 10 और ऊपर के लिए अद्यतन
IOS 10 में अब सीएनसीोपीसॉर्पोर्टेडइन्टरफेस रिक्त नहीं किया गया है ( एपीआई संदर्भ )
आपको SystemConfiguration / CaptiveNetwork.h को आयात करने और अपने लक्ष्य के लिंक्ड लाइब्रेरीज़ (बिल्ड चरणों के तहत) में SystemConfiguration.framework जोड़ने की आवश्यकता है ।
यहाँ एक कोड स्निपेट स्विफ्ट में है (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
}
}
( महत्वपूर्ण: सीएनसीकोपसुपर्र्डइंटरफ़ोर्स सिम्युलेटर पर शून्य देता है।)
ऑब्जेक्टिव-सी के लिए, यहां और नीचे एसाड का उत्तर देखें
+ (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;
}
IOS 9 के लिए अद्यतन
IOS 9 के रूप में कैप्टिव नेटवर्क * पदावनत है। ( स्रोत )
* अब iOS 10 में नहीं, ऊपर देखें
यह अनुशंसा की जाती है कि आप NEHotspotHelper का उपयोग करें ( स्रोत का ) का
आपको Apple को networkextension@apple.com पर ईमेल करना होगा और एंटाइटेलमेंट का अनुरोध करना होगा। ( स्रोत )
नमूना कोड ( मेरा कोड नहीं। पाब्लो ए का जवाब देखें ):
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;
}
साइड नोट: हाँ, उन्होंने iOS 9 में सीएनसीोपीसुपरटीनटेरफेस को अपदस्थ कर दिया और iOS 10 में अपनी स्थिति को उलट दिया। मैंने एक Apple नेटवर्किंग इंजीनियर के साथ बात की और इतने सारे लोगों ने रैडर्स दायर किए और Apple डेवलपर मंचों पर इस मुद्दे के बारे में बात करने के बाद पलट दिया।