Apple does not let you scan for wifi networks!

Recently in one of our projects we got a request to make a supporting mobile app on iOS and Android which would scan networks and list out specific access points broadcasted by the customer’s raspberry pi devices. Then the user could connect to the pi and proceed with more functionality.

Although this statement looks pretty easy to implement it soon became a blocked request! After a few hours of re-search we sent the following email to our customer. Putting it down here to help other devs save some time!

Apple does not have any public APIs to scan for Wifi networks. Since we couldn’t believe it we checked the forums..
https://forums.developer.apple.com/thread/39204
https://forums.developer.apple.com/thread/5849
Options

To quote

“Important

The com.apple.developer.networking.HotspotHelper entitlement is required in order to use NEHotspotHelper. To request this entitlement, send an email to networkextension@apple.com.”

In one of the forum threads about who will get entitlement the Apple rep mentioned this “NEHotspotHelper mechanism is designed for folks doing captive network management apps.  If you’re not creating a captive network management app, it’s not appropriate to use NEHotspotHelper.”
Do we fit the bill for captive network management?? Also the approval takes about 3 weeks before which i am not sure we will be able to test/run the API.

Question:

Do we really need to submit to Apple AppStore Immediately? If the users for these apps are limited employees then we can distribute it privately using Crashlytics or TestFlight Beta ( 25 only) till we get the entitlement. The Android app will be on the Playstore anyway.

Hope this RnD helps you save some time! If you found another approach to solving this issue do drop a comment!

Team Cennest!

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>