views:

7724

answers:

2

Is there a way using the iPhone SDK to get WiFi information? Things like Signal Strength, WiFi Channel and SSID are the main things I'm looking for.

Only interested in Wifi info, not cellular.

+6  A: 

Based on this bug report and this SO question, I'm guessing there's no supported way to do this atm.

EDIT: Chris mentioned WiFinder, which prompted me to do a little more digging. According to the WiFinder author's blog he used methods from the private Apple80211.framework. (The framework mentioned in the above linked SO question.) Apparently Apple will no longer allow these private API calls in apps, which is preventing him from updating WiFinder.

But, if you want to use them anyway, some kind folks have posted a list of discovered Apple80211 functions to google code.

It looks like Apple80211GetInfoCopy might do the trick.

Gordon Wilson
Until a few weeks ago there were an application called WifiTrak (bitrino.com/wifitrak/support.html) on the appstore which displayed a list of all available wi-fi hotspots in range. It has however been pulled from the appstore, so even though it appeared that this is possible it might not be acceptable by Apple for whatever reason.
Colins
A: 

The WiFinder iPhone application does it somehow...

Chris Nava
Nice find. See my edits for the WiFinder authors issues w/using the private Apple80211.framework
Gordon Wilson
WiFinder is using a database of WiFi's whose locations are stored in the database. IMHO this is not the answer to the initial question, because the WiFinder App just helps to locate the user based on his GPS position and determines the distance to the WiFi stations stored in the database.
Colins
The API was closed by Apple so the app was changed since my initial post. It no longer gets signal strength info for WiFi.
Chris Nava