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)

CNCopySupportedInterfaces API 对于我的产品,是很重要的,如果无法获取SSID 和 BSSID, 我的App讲无法正常运行;

我们App是用于Wi-Fi智能灯泡, App会读取当前的SSID 和 BSSID判断手机是否直接连接到我们WiFI灯泡的热点, 从而提示用户不同的操作流程, 如果用户直接连接到灯泡的WiFi热点, 这样需要通过设定将WiFi灯泡连接到路由器, 如果用户连接的是家庭的WiFi网络,则进行其他的逻辑判断.

我们已经出售了几十万WiFi灯具设备了, 如果无法获取SSID 和 BSSID, 我们的App将无法使用, 会有大量客户投诉或者退货, 可能会导致我们公司破产.

请Apple认真考虑我们的问题. 不要取消CNCopySupportedInterfaces API ,我们只需要获取当前SSID 和 BSSID, 不需要NEHotspotHelper的其他功能.

You don't understand. No one here wants to turn their app into a "Hotspot helper" just so they qualify to use the NEHotspotHelper APIs. We just want to be able to read the current WiFi SSID and use that information within our current app.


A phone call is not going to help. It is very unlikely the person handling the phone would even understand the question.


Since eskimo understands our needs and has passed them along to the programming staff at Apple handling iOS that is the best way to get this resolved. We need an approved (and supported in all future iOS versions) way to read the current WiFi SSID.

Agree, we only want readonly API to get the current SSID string. For example, iOS device usually will remember several WiFi hotspots; when current WiFi is down, iOS will automatically switch to another WiFi hotspot without notifying user. If that happens to my app, it does not connect to the server any more. Then my app only can notify user that your connection to server is lost. But, user might not notice, one's iOS device is switch to another WiFi hotspot and can't connect to previous server. This is really helpful to user for trouble shooting. Can we have some simple API for get SSID. NEHotspotHelper is too much for most apps which only want to show currently SSID, but not do any heavy task.

This email address: - networkextension@apple.com as listed in the following document "717_whats_new_in_network_extension_and_vpn.pdf" bounces back. Has the email address changed for these requests?

No, the email address remains unchanged.

By an amazing coincidence I happened to email that address yesterday and it worked for me.

Finally, keep in mind that, as I mentioned in my post on 5 Aug, requesting access to NEHotspotHelper is only appropriate if you're actually developing an app to manage a captive network.

Share and Enjoy

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

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

This is really bad news. 😠



I have been developing a new app in the last months and the possibility to read the current WiFi SSID is crucial for my app since it permits a feature that distinguishes it from other, more common, apps. Now it feels like I just want to throw everything in the bin and delete all code.


I truly hope Apple will understand what a mess they are creating among developers by this decision. Things are getting even worse when we are not being allowed to use the NEHotspotHelper API as an (the only available) alternative! From this thread, it seems like all requests have been turned down.


I really hope Apple reconsiders and can create an API to get WiFi SSID.

Quinn,


I too have this issue and like Turbo3 and others - I was not be allowed to get Hotspot API access

because my App doesn't manage a Hotspot. My app requires SSID to aid the user in making

sure that they are connected ot the proper network


I don't need any other information than this basic SSID...


any suggestions would be appreciated

This is a serious problem for me. My app is used to configure WiFi connected hardware, the hardware is automatically set to use the same SSID as the iOS device. I will now need to prompt the user to enter the SSID, an error prone and unnecessary extra step.


In addition, as noted in another post already, I warn if the iOS device is not connected to the network the hardware is on. This saves endless support headaches.


But worst for me is I also have another 32bit only app that supports older products. It works fine, and doesn't need to be updated ever again. Now this will break in the next few weeks for all my customers who update to iOS 9 (probably most). I don't have the resources to re-write this app for 64 bit, just for legacy customers.


Please reconsider this decision.

Same probelm here. My app simply needs to know what Wi-Fi network(s) it is nonnected to. If for any privacy reason this should not be allowed by default, give the user a chance to grant access.


Applied for Networking.HotspotHelper entitlement. Don't really expect acceptance.


Meanwhile need to inform all customers NOT to upgrade to iOS 9.

I have the same problem. Our app will lose one of its key functionalities by not being able to retrieve the SSID, making for a lot of unhappy users. This is just not right.

Eskimo,

Per your request to share our use case,

This change can kill our business, simple as that.


We use an external device and let our users perform cetrain actions when they are conected to their home wifi SSID.

The users themselves approves this and have a specific screen in the app that shows them the current SSID and allows them to name it and save it.

we do not spy or do anything malicious, so why take this essitial ability from app developers?


What I don't get is:

If you want to increase users' privacy,

why don't you add another grant option for wifi access, same as Location, Motion, Push Notification, Camera, Photos, Contacts etc..?

It's been very silent on Apple's side...

@eskimo, do you have an update regarding this major decision that will not only hit a lot of developers, but a lot of customers as well?


Another thing: 'deprecated' basically means it is going to be removed in a future version.

In this case, 'deprecated' means instantly removed without prior notice? It shouldn't have been removed in the first place.

I'm in the same boat, BUT I really don't need the SSID. I'm using Multipeer Connectivity and just want to know if the user has enabled wifi before starting to advertise. If they haven't , I remind them either wifi or Bluetooth needs to be on.


Things are working fine in checking Bluetooth status, but are now broke for wifi. Is there a way to check wifi status (just that it's on) without having to get the SSID? Reachabiity won't work for me..as I'm not interested in being connected to the internet..just to a wifi network.


Any direction?


If Apple brings back the CNCopySupportedInterfaces API, I'll be okay also.

Lucky you!

Just take a short look at Tony Millons adaption of Reachability, it's very very simple to check the Wi-Fi status only. Links not allowed here. Simply search for "Tony Millon Reachability".

Thank you. I'll look into that. I was under the impression that Reachabilty actually checked for Internet connection and returned connection type if available. I have the case where there could be a private wifi lan not connected to the Internet. Would Reachabilty still return a valid wifi connection in that case?

Just use reachabilityForLocalWiFi, it's really simple.

I see...will look into that. Thank you.

Does Tony Millon's code support reachabilityForLocalWifi also?

Works perfectly. Thank you!

Ditto: we use the current SSID to pre-populate the network name during wifi configuration of the products our customers make; prompting the user to type their SSID as well as their password just increases the chances of them typing it wrongly and a bad user experience. Using WAC isn't exactly an option for the hundreds of thousands of devices out there.


Because the deprecated call is in an SDK that our customers include in their apps, this affects all our customer's apps 😟

jorisvervuurt wrote:

It's been very silent on Apple's side...

You call this silence (-:

@eskimo, do you have an update regarding this […]

No. As I mentioned earlier, I will update this thread when I have more to share.

jorisvervuurt wrote:

Another thing: 'deprecated' basically means it is going to be removed in a future version.

And JetForMe wrote:

I'd also like to point out that deprecation means an API is unchanged for now, but will go away in the future.

Just on a personal level, I totally agree with your definition of the word “deprecated”.

Share and Enjoy

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

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

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.

get current WiFi ssid
 
 
Q