如果是,我們是否也可以獲得有關網絡配置的其他信息?在iPhone上,是否可以找出我們連接的是哪個WIFI網絡?
一個有用的方法可以獲取當前網絡的SSID。有沒有API來做到這一點?
更新:我發現了一個類似的問題在這裏:
Can the iPhone SDK obtain the Wi-Fi SSID currently connected to?
如果是,我們是否也可以獲得有關網絡配置的其他信息?在iPhone上,是否可以找出我們連接的是哪個WIFI網絡?
一個有用的方法可以獲取當前網絡的SSID。有沒有API來做到這一點?
更新:我發現了一個類似的問題在這裏:
Can the iPhone SDK obtain the Wi-Fi SSID currently connected to?
(獨立回答保存歷史等等)
看起來你可能無法確定WLAN的SSID到你連接,至少在一個應用程序,將進入應用程序商店。 These people使用一個私有的API - Preferences.framework - 去了解WLAN的細節(比如「它隱藏了嗎?」「什麼名字?」等)。
你看的Reachability示例應用程序?
編輯:Reachability應用程序演示如何使用SystemConfiguration框架來顯示您的手機是否連接到互聯網,如果是這樣,如何。
它還允許您區分本地WiFi連接而不是(+ [可達性可達性對於本地WiFi])。
關於你的問題的肉,你必須諮詢電話的ARP表。 This answer告訴你如何做到這一點。
或許你可以澄清你的答案。你是說「是的,你可以,這裏有一些示例代碼的鏈接」,或者你在說「不,你不能,但是這裏有一個你可以做的其他事情的想法。」或者你是否在說:「我也不知道,但看看這裏」,作爲一個評論,這真的會更好,因爲它沒有回答這個問題。 – 2010-04-14 12:07:40
可達性樣本僅用於演示檢測IF如何連接到網絡。它沒有顯示我們如何獲得當前網絡的身份。 – Plumenator 2010-04-14 12:09:27
網絡識別是什麼意思?你的意思是WLAN的SSID? – 2010-04-14 13:00:36
不能發表評論,但是這可能是一個重複:
Accessing iPhone WiFi Information via SDK
的答案似乎是否定的。我已經做了我自己的研究,並且一直無法找到獲得SSID的支持方式。
嘗試以下方法:
#import <SystemConfiguration/CaptiveNetwork.h>
NSString *wifiName = @"Not Found";
CFArrayRef myArray = CNCopySupportedInterfaces();
if (myArray != nil) {
CFDictionaryRef myDict = CNCopyCurrentNetworkInfo(CFArrayGetValueAtIndex(myArray, 0));
if (myDict != nil) {
NSDictionary *dict = (NSDictionary*)CFBridgingRelease(myDict);
wifiName = [dict valueForKey:@"SSID"];
}
}
NSLog(@"wifiName:%@", wifiName);
可能重複:http://stackoverflow.com/questions/1625158/iphone-sdk-detect-wifi-and-carrier-network – 2010-04-14 12:11:12
不,不是的那個副本。這位提問者想知道他連接到哪個WiFi網絡,而不是*他是否連接到一個,或者他是否僅通過手機連接(或根本不連接)。 – 2010-04-14 12:16:02
直到幾個星期前,在appstore上有一個名爲WifiTrak(http://www.bitrino.com/wifitrak/support.html)的應用程序,它顯示了範圍內所有可用的wi-fi熱點列表。 然而,它已從appstore中拉出來,所以儘管看起來這是可能的,但無論出於何種原因Apple都可能不會接受它。 – 2010-04-14 13:09:05