ios 獲取當前wifi名稱


ios5之前可以通過讀取配置文件獲取,ios5以后蘋果修改wifi列表文件位置,只有root權限才可以讀取.

ios4:/System/Library/SystemConfiguration/WiFiManager.bundle/WiFiManager

ios5:/System/Library/SystemConfiguration/IPConfiguration.bundle/IPConfiguration

 

官方的API沒有提供獲取掃描所有wifi列表,相近功能的只有CaptiveNetwork,獲取當前wifi的名稱。

引用頭文件<SystemConfiguration/CaptiveNetwork.h>

/*!
 @function CNCopySupportedInterfaces
 @discussion copies a list of all interfaces CaptiveNetworkSupport is monitoring.
 @result An array of CFStringRef- BSD interface names.
	 Returns NULL if an error was encountered.
	 You MUST release the returned value.
 */
CFArrayRef
CNCopySupportedInterfaces	(void)				__OSX_AVAILABLE_STARTING(__MAC_10_8,__IPHONE_4_1);

通過CNCopySupportedInterfaces獲取wifi列表,實際測試中返回數組中只有一個值,即當前連接的wifi。

 

- (NSString *)currentWifiSSID 
{
    NSString *ssid = nil;
    NSArray *ifs = (__bridge   id)CNCopySupportedInterfaces();
    for (NSString *ifname in ifs) {
        NSDictionary *info = (__bridge id)CNCopyCurrentNetworkInfo((__bridge CFStringRef)ifname);
        if (info[@"SSIDD"])
         {
            ssid = info[@"SSID"];
        }
    }
    return ssid;
}
    

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM