get current WiFi ssid

With iOS 9 beta 4, the CNCopySupportedInterfaces API is broken.

(it was working until beta3)

So my app can't get current wifi ssid.


It should be possible to use [NEHotspotHelper supportedNetworkInterfaces]

However it returns always nil.


How is it possible to get current ssid ?

(I don't want to manage hotspot network)

Accepted Reply

Looks like it works again in iOS 9 GM

Indeed.

I also want to draw your attention to the big **** comment at the top of

<SystemConfiguration/CaptiveNetwork.h>
in the iOS 9 SDK included with the Xcode 7.0 GM seed. To wit:

IMPORTANT This API is deprecated starting in iOS 9. For captive network applications, this has been completely replaced by

<NetworkExtension/NEHotspotHelper.h>
. For other applications, there is no direct replacement. Please file a bug describing your use of this API so that we can consider your requirements as this situation evolves.

If you do file a bug about this please send me, via email, your bug number. My email address is in my signature, below. For the next month or so I’m going to collect input on this issue.

You should, of course, feel free to continue discussing the issue here on DevForums.

Share and Enjoy

Quinn "The Eskimo!"
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

Replies

Took six days (for rejection).

I sent in the filled in request form on 7/31 received rejection on 8/4.

Tried to release a new version of my app that skips reading the SSID if iOS 9 is detected.


Got rejected due to my "What's New in This Version" information. I stated this version of the app would work under iOS 9.


You are not allowed to talked about unreleaed iOS versions. So it will be another 7 days before it can be reviewed for release.

Yes, rejection takes about a week. But seriously, will Apple kick a baby health monitor out of iOS 9? This has to melt event the coldest hearts. We keep our fingers crossed!

Are there any updates on this?


We use current SSID to provide good experience for configuring Wi-Fi for a screenless keyboardless consumer electronics device via device running its own Wi-Fi hotspot. We are trying to make as less awkward as possible and removing SSID detection seriously cripples our app's user experience. Current app version will stop working with device setup altogether.


We need, at least, to allow the app to see a subset/pattern of SSIDs or MAC address range by a particular manufacturer.


This is an absolutely terrible and ill-timed move by Apple. Seriously, no deprecation? Just yanking the API? Come on.

We currently use the SSID to differentiate between our user's home network and the network broadcast by our WiFi connected pellet grill. We perform very different actions based on this. We also use the SSID to inform our users what network they are actively trying to use because our grills are not compatible with 5.0 GHz networks broadcast by dual band routers and devices can sometimes switch networks underneath the user or switch off of the network being broadcast by our grills. We absolutely need to know if we need to revamp the code in our app to work around this before iOS 9 hits the market as we have a very small development team and need to allocate our resources appropriately. As it stands our users will have a very poor quality experience if they use iOS 9. Android is already a much better experience for our users because we can maintain socket connections in the background over long cooks, this may turn off many of our iOS users altogether.

Thanks for the update, eskimo.


I have a popular app that receives photos from wi-fi cameras / cards and I display the SSID in the statusbar so users know whether they're connected to the right device. So I'm sure there'll be a lot of sad pandas when iOS 9 hits. But oh well, best release yet. Take the good with the bad.


I absolutely see how this is a privacy concern, so I don't really expect this to get "fixed".


And please, no more settings and fine-grained control. Android is nothing to shoot for. 😉


Suggestion: If the user allows access to location services then let CNCopySupportedInterfaces() work as intended.


I'll file a Radar just to add a +1 to this issue.

Hi Eskimo,


Any updates on this? Here's another use case you can use.


We connect with WiFi cameras and one of them, that lets you go professional, requires a Wake-on-Lan packet to work. We don't keep the MAC address or use it for identification - we only need it so we can send a Wake-on-Lan magic packet, which as you know requires the MAC address. We already know the fixed IP address of the camera, which is connected via ad hoc wifi to the iPhone.


Any help or alternatives would be greatly appreciated.

Thanks Eskimo. I wanted to add my concerns and my use case for reading the connected SSID as well.


My app controls a connected-home hardware device that pairs with user's home network to let the user manage the device remotely. Knowing the SSID during this pairing process is crucial while we walk the user through the setup so we can ensure that they are connected to the correct device throughout the setup. There may be some workarounds that could potentially provide a stable way to detect and isolate these connection scenarios, but I have to restructure a lot of the setup process to even try it out. Until I am able to get a new solution in place, we have to recommend to our customers to not update to iOS 9.

I have a brilliant idea that will make history and change our ways of thinking...imagine designing an app that allows stoners to come together when they are high and find solutions about different phenomena and mysteries such as did we really land to the moon or how to stop global warming ...just texted this randomly to you...hope you smoke and see the light in it

Is the monitor already available to buy?

Did you receive a reply yet? Put mine in on the 25th August and so far nothing back. Sent a followup a few days ago to check I was actually in the system and received no reply.

Yes, you can buy the baby monitor. It's called Owlet. It's pretty cool technology. Just don't try to do the setup from an iOS 9 device. It fails. You can work around the problem with a web interface. But I wouldn't want that inelegant solution to our answer for the future.

I have not yet received a reply. That may be a good sign that I didn't get a rejection yet because they are waiting for additional information to be made public in the final release of Xcode 7/iOS 9? We will see soon.

Looks like it works again in iOS 9 GM 🙂


Thank-You eskimo