開發平台 : 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 判斷網络連接以及獲取路由信息
執行畫面:
留言列表