NEHotspotConfigurationManager joinOnce Problems

Hey there, I'm currently facing an issue with NEHotspotConfigurationManager: After joining a Hotspot (which has no internet) with applyConfiguration and joinOnce=true, the removing of the configuration (which is done as soon the app goes in background) is not disconnecting the WiFi, also not after 15 seconds.

With the Sample App (https://developer.apple.com/library/archive/samplecode/NEHotspotConfigurationSample/Introduction/Intro.html#//apple_ref/doc/uid/TP40017679) I have a similar behaviour. With the first ApplyConfiguration (joinOnce = true) after closing the SampleApp the WiFi Hotspot is disconnected after about 15 seconds. When I go back to the App and start ApplyConfiguration again (also joinOnce = true) then after closing the app the WiFi Hotspot is not disconnected at all.

There seems to be a workaround and perhaps another problem. When applying the configuration two times with a small delay of 1-2 seconds, it is possible to disconnect from the WiFi hotspot instantly by removing the configuration. The Problem here is, that the wifi consent dialog appears two times. When I look into the system logs I see a logging line with: "wifid __WiFiManagerDispatchNextAddNetworkAsyncRequest: Don't show popup as user have already given consent for this network." But it shows a Consent Dialog a second time.

Tested on iOS 15.3

Kind regards Philipp

Accepted Reply

I'm currently facing an issue with NEHotspotConfigurationManager: After joining a Hotspot (which has no internet) with applyConfiguration and joinOnce=true, the removing of the configuration (which is done as soon the app goes in background) is not disconnecting the WiFi

Yes, what you are describing is a known issue right now. Here is the bug I am tracking regarding this item: (r. 87448319)

The workaround for this is to not use joinOnce = true at all on your NEHotspotConfiguration and then when your configuration needs to be removed, it can be removed from the app with removeConfiguration.

Please open a bug report on this item as well and follow up with the Feedback ID.

Matt Eaton
DTS Engineering, CoreOS
meaton3@apple.com
  • Thank you for clarification! Can you say in which version this bug was introduced? It seems to work fine in iOS 12.0. So I would like to know for which versions I have to disable join once.

  • I have only seen the joinOnce issue in iOS 15.*. I have not see it in any version prior to iOS 15.

  • Our app is being impacted by this bug. Is there a fix timeline yet ? For our app, we can't use the workaround you suggest.

    FYI, this report may indicate that the bug impacts 12.2 and 12.3.1: https://developer.apple.com/forums/thread/116978

Replies

I'm currently facing an issue with NEHotspotConfigurationManager: After joining a Hotspot (which has no internet) with applyConfiguration and joinOnce=true, the removing of the configuration (which is done as soon the app goes in background) is not disconnecting the WiFi

Yes, what you are describing is a known issue right now. Here is the bug I am tracking regarding this item: (r. 87448319)

The workaround for this is to not use joinOnce = true at all on your NEHotspotConfiguration and then when your configuration needs to be removed, it can be removed from the app with removeConfiguration.

Please open a bug report on this item as well and follow up with the Feedback ID.

Matt Eaton
DTS Engineering, CoreOS
meaton3@apple.com
  • Thank you for clarification! Can you say in which version this bug was introduced? It seems to work fine in iOS 12.0. So I would like to know for which versions I have to disable join once.

  • I have only seen the joinOnce issue in iOS 15.*. I have not see it in any version prior to iOS 15.

  • Our app is being impacted by this bug. Is there a fix timeline yet ? For our app, we can't use the workaround you suggest.

    FYI, this report may indicate that the bug impacts 12.2 and 12.3.1: https://developer.apple.com/forums/thread/116978