close

開發平台 : MAC MINI OS X 10.10.2 & Xcode 6.3.1
實際測試裝置 : iPhone 5S

因為case需要所以要獲取當前的WiFi SSID 。

Step1 :首先在專案一般設定底下找到Build Phases>Link Binary With Libraries新增<SystemConfiguration/CaptiveNetwork.h>框架

Step2 :要注意到,模擬器並無法獲取你的網路資料,因此你只能在實機上做測試

code:

- (id)fetchSSIDInfo {

     NSArray *ifs = (__bridge_transfer id)CNCopySupportedInterfaces();

     NSLog(@"Supported interfaces: %@", ifs);

     id info = nil;

     for (NSString *ifnam in ifs) {

         info = (__bridge_transfer id)CNCopyCurrentNetworkInfo((__bridgeCFStringRef)ifnam);

         NSLog(@"%@ => %@", ifnam, info);

         if (info && [info count]) {break; }

     }

    return info;

}

- (NSString *)getSSID

{

    NSDictionary *ifs = [self fetchSSIDInfo];

    NSString *ssid = [ifs objectForKey:@"SSID"];

    NSString *ssidValue;

    if([[ssid uppercaseString] isEqualToString:@"UNSUPPORTED"]){

        NSLog(@"Simulator doesn't detect wifi, please connect your iPhone!");

        ssidValue = @"";

    }else{

        ssidValue = ssid;

    }

    ShowWiFi.text=ssidValue;

    return ssidValue;

}

以下執行畫面是因為有接上iPhone所以才有辦法得到連線的SSID。

參考資料:ios 判斷網络連接以及獲取路由信息

 

執行畫面:

螢幕快照 2015-06-12 上午10.22.58  

 

 

arrow
arrow
    全站熱搜

    JoshJhan 發表在 痞客邦 留言(0) 人氣()