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

Actually, I do understand.


I fully appreciate that no one here wants to create a captive network and that the new API and associated permission is not helpful.


I have spoken with Apple developer support in the past - to a developer / engineer beyond a call handler and my question was understood / taken on board and a work around provided. This is why I made the suggestion.

I too have an app that needs to know if the user is using mobile connection or connected to a WiFi network specified by the user itself. The app has been available for more than 1 year and not being able to know if the connection is wifi/mobile, besides making all active installations crash, will result in enormous rework, to say the least. Privacy & security concerns understood and agreed, will Apple:

A. Provide a way to detect if the connection is WiFi or mobile? Even better: if the current WiFi SSID is the same specified by the user? We don't need to know all available SSIDs, just the one the user manually entered in order to ignore URL calls when not connected to the specific hotspot.


B. Remove 1 star reviews result of crashes until developers find a solution and have time to change what has been done so far?

Does anyone have access to bug 22081099 ?


My bug report 22247368 has been closed, saying "Duplicate of 22081099". Now this bug has been closed too. What does that mean? Is the fixed? Will it be fixed? Will it never be fixed, because Apple don't wants our apps to run on iOS 9?

Dear Apple Team


Just want to raise another voice for those developers expecting a lot of bad reviews and frustration with the release of iOS9.

I am in the same boat. My App is relying on identifying the currently connected network. By far the best (only) way is to use the BSSID / SSID.

All other possible solutions/workarounds to achieve this I would call medicore at best. And this shouldn't be the case for an App on the App Store.

My (paying) customers are very happy with my App (almost all reviews I receive are 5 stars).

How to explain to them that a core functionality of my App isn't available anymore?


Thanks for reading. Feedback is very much appreciated.

My Bug "22341005" was also closed as a duplicate. I have tried and cannot find a way to gain access to 22081099. I have replied to complain that no feedback has been given - but the bug report remains closed and will therefore remain unanswered.

I thought apps would start to crash -only- when iOS9 is out? I was wrong, and found it out via recent 1 star reviews. Does anyone know in which iOS8 update this was introduced?


My immediate solution: removed everything from sale.

Some of your customers may attend the iOS 9 public beta program. Although Apple has blocked reviews from iOS 9 beta itself, your customers can easily use iTunes or another iOS device to rate your app.

It doesn’t sound good. I can’t afford a collection of 1 star reviews until late September, especially when developers can’t protect themselves or contest reviews.

+1000 here. Just submitted my own bug report: 22392154


There is no reasonable expectation of privacy with a broadcast SSID

so removing the ability to read that string makes zero sense. In my case

my app displays the SSID to the user along with internal and external

IP addresses. This is a key feature of the app and one which cannot

be removed without further devaluing the app which already lost functionality

due to previous deprecations/removals MAC address, UDID, etc.


If this is going to be the path forward, I'm sorry to say, I may have to move

to other platforms and say goodbye to iOS entirely. I prefer not to have to

make such a move but this nonsense all in the name of privacy is getting

far too out of hand.

Absolutely agree that their is no reasonable expectation of privacy with a broadcast SSID (which is why all of my personal networks don't broadcadt their SSID). Apple should know this. *cough*

Also agree. And would add that the privacy argument completely fails since if you are granted the NEHotspotHelper privalage then the app gets access to both BSSID and SSIDs and the user is never presented with any confirmation dialog. Either the information is a privacy concern or it's not. If it is not then give access to it, if it is then pop-up a confirmation dialog just like location, contacts, photos and everything else. There is absolutely no need to just remove functionality and kill apps when the solution of a user confirmation dialog solves this.


I just don't get it, how can a user's exact location 24/7 from GPS be permitted, yet broadcast SSIDs and BSSIDs are somehow considered totally off limits!?

Can’t agree more with everything you said.


>> I just don't get it, how can a user's exact location 24/7 from GPS be permitted, yet broadcast SSIDs and BSSIDs are somehow considered totally off limits!?


Let’s bet that’s on the way?

Does anyone know in which iOS8 update this was introduced?

No version of iOS 8 has, or will get, this restriction. I don’t know where these reviews are coming from but picobit’s theory sounds reasonable to me.

Share and Enjoy

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

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

RLKingSoftware wrote:

There is no reasonable expectation of privacy with a broadcast SSID […]

I strongly disagree with this. The collection of SSIDs that the user’s device associates with is a fairly accurate fingerprint of that user. Moreover, that fingerprint is persistent, correlatable between apps, and can’t be reset by the user. Those are all Bad Things™ from a privacy perspective.

I totally agree that there’s a balance to be struck between privacy and utility here, but arguing that there’s no privacy case to answer is naïve.

SolarCat wrote:

(which is why all of my personal networks don't broadcadt their SSID)

Which is kid sister security IMO because all APs broadcast their BSSID, which is much more identifying (typically it’s the MAC address of the AP). Notably,

CNCopyCurrentNetworkInfo
also gives you the BSSID )-:

maverick808b wrote:

I just don't get it, how can a user's exact location 24/7 from GPS be permitted, yet broadcast SSIDs and BSSIDs are somehow considered totally off limits!?

It’s because that access is granted by explicit user consent and that consent can be easily revoked via the user interface.

I want to reiterate that I think the behaviour exhibited by the current iOS 9 beta is unacceptable, and I’m hopeful that things will improve before GM. Alas, I can’t go into specifics at this time.

Share and Enjoy

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

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

Thanks for the reply eskimo. Yes, I understand that the user explicitly consents to location through the dialog and can later revoke that. My point is why can't a pop-up be shown for access to Wi-Fi resources/information as well? I believe if the user consents and decent access was then available through the SDKs then a lot of apps would become possible on iOS again, such as network utility tools, Wi-Fi scanners and the numerous app examples given by others in this thread.


I really think the consensus here is that yes, we fully acknowledge the privacy issues. However, given that there are privacy issues with location, photos, contacts, camera, etc that are all overcome with a pop-up dialog getting explicit user consent then can we please, please, please get a similar dialog that after getting explicit user consent then allows us to do some great things with Wi-Fi?