How To Get Wi-Fi Scan List Using Network Extension Framework In iOS 11

This thread has been locked by a moderator; it no longer accepts new replies.

Hey,


I want to get nearby Wi-Fi network's SSID into the app using network extension framework.


Right now I can get scan list by visiting the setting--->Wifi Screen but I want to get those Scan Result into the app without visiting the setting wifi screen.

If anyone idea about it please let me know

Answered by DTS Engineer in 814445022

This old thread came up in another context, so I wanted to post a quick update.

First, TN3111 iOS Wi-Fi API overview is the successor to QA1942. Quoting that technote:

iOS does not have a general-purpose API for Wi-Fi scanning and configuration. However, it does support a wide range of special-purpose Wi-Fi APIs. This technote lists some use cases supported by those special-purpose APIs.

Second, TN3151 Choosing the right networking API has a general overview of networking APIs on Apple platforms.

Third, if you’re trying to get signal strength info, read iOS Network Signal Strength.

Finally, Extra-ordinary Networking has links to a bunch of different posts about low-level networking topics, including a Working with a Wi-Fi Accessory.

And with that, I’m gonna close this thread. If you have questions about any of this stuff, put them in a new thread. Use the same topic and tags as this thread, so that the relevant folks see it go by.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Boost

iOS does not have a general-purpose Wi-Fi scanning API. Rather it has a suite of Wi-Fi management APIs, each targeted to one specific purpose. QA1938 iOS 10 and the Legacy VoIP Architecture QA1942 iOS Wi-Fi Management APIs has the details here.

Right now I can get scan list by visiting [Settings > Wi-Fi] but I want to get those Scan Result into the app without visiting the setting wifi screen.

That is not possible. Why does your hotspot helper app need this?

Share and Enjoy

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

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

I would love to have such feature in the SDK. My App connects to Dash Cams by Wi-FI and at the moment this requires a jump back to App Settings, tap back, scroll up, then Wi-Fi etc.


The preferred way would be to show a list of likely compatible devices (based on the WiFi SSID) in the vicinity, which then can be selected and connected to.

My App connects to Dash Cams by Wi-FI and at the moment this requires a jump back to App Settings, tap back, scroll up, then Wi-Fi etc.

You can improve this process over somewhat using

NEHotspotConfigurationManager
. QA1942 (I’ve corrected that link in my earlier post) has the details.

It’s still not perfect though, in that you need to know the dash cam’s SSID beforehand. One option is to use Bluetooth LE to smooth things over. For example, the accessory could advertise its SSID and other details over Bluetooth LE, and your app could then use that to get all the info needed to configure the Wi-Fi using

NEHotspotConfigurationManager
.

This assumes, of course, that the accessory supports something like this, or that you can update its firmware.

Share and Enjoy

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

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

Hello eskimo,


Thanks a lot for answering those questions. I think many IOT projects have similar issues.

I want to develop an app that connects to smart light bulbs via Wifi.
So, we have a similar issue, as we would love to be able to list all compatible network SSIDs via the app. We currently have no resources to redesign the hardware in order to add Bluetooth LE.

So, I am writing you to ask if there has been any evolution on NEHotspotConfigurationManager API?
Does Apple plan, somehow to implement this feature in the near future? (listing all available network SSIDs)


Regards,
Pedro

One option I should have mentioned in my earlier post is barcodes. A common technique for accessory developers is to include a barcode on the device containing the SSID and, if appropriate, the default password. Their app can then allow the user to scan those QR codes and use the results an input to

NEHotspotConfigurationManager
.

Alas, that’s unlikely to work for your specific case (smart light bulbs) because it’s going to be hard to scan a barcode on such an accessory.

So, I am writing you to ask if there has been any evolution on

NEHotspotConfigurationManager
API?

No.

Does Apple plan, somehow to implement this feature in the near future? (listing all available network SSIDs)

I can’t predict the future, alas.

I will say, however, that the ability to get real-time Wi-Fi scan results is a much-requested feature, so it’s safe to assume that the lack of this API is not accidental. And while Apple has never officially stated why this is, there’s no denying the following:

  • Apple is very concerned about user privacy

  • Real-time Wi-Fi scan results represents a serious privacy challenge

Share and Enjoy

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

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

My app wants to get some basic information about all Wi-Fi in the Wi-Fi list near the user. How do I get it done.

For example: SSID signal strength.....

My app wants to get some basic information about all Wi-Fi in the Wi-Fi list near the user.

The situation with Wi-Fi scan results has not changed since my Feb 9 post.

Share and Enjoy

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

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

Hi Akimo, I'm developing an IOT app with wireless cameras. The process to add a camera needs information about the SSID and Password to create a QR code on the app and show it on an iPhone to be scanned it by the camera. At this moment Apple allow this kind of actions with out using any extra API? what I need to submit this form 'https://developer.apple.com/contact/request/hotspot-helper/'? at this moment I get an 'unauthorized'

Regards!

The process to add a camera needs information about the SSID and Password to create a QR code on the app and show it on an iPhone to be scanned it by the camera. At this moment Apple allow this kind of actions with out using any extra API?

You could take a look Configuring a Wi-Fi Accessory to Join the User’s Network as this sample does show an example of creating a QR code with the network information, the iOS app scanning this code. Then associating with the embedded network in the QR code from the iOS device.

This old thread came up in another context, so I wanted to post a quick update.

First, TN3111 iOS Wi-Fi API overview is the successor to QA1942. Quoting that technote:

iOS does not have a general-purpose API for Wi-Fi scanning and configuration. However, it does support a wide range of special-purpose Wi-Fi APIs. This technote lists some use cases supported by those special-purpose APIs.

Second, TN3151 Choosing the right networking API has a general overview of networking APIs on Apple platforms.

Third, if you’re trying to get signal strength info, read iOS Network Signal Strength.

Finally, Extra-ordinary Networking has links to a bunch of different posts about low-level networking topics, including a Working with a Wi-Fi Accessory.

And with that, I’m gonna close this thread. If you have questions about any of this stuff, put them in a new thread. Use the same topic and tags as this thread, so that the relevant folks see it go by.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

How To Get Wi-Fi Scan List Using Network Extension Framework In iOS 11
 
 
Q