Captive Network Assistant not presented after joining Wi-Fi via Camera QR code until Settings > Wi-Fi is opened

Steps to reproduce:

  1. Open captive network (DHCP + DNS → portal, hotspot-detect.html returns 302).
  2. Scan the Wi-Fi QR code with Camera and tap "Join".
  3. Stay in Camera.

Expected: CNA is presented after a Camera-initiated join, as it is after a join from Settings > Wi-Fi. Actual: CNA is not presented until the user manually opens Settings > Wi-Fi.

Impact: In-flight Wi-Fi with no internet, where the portal is mandatory. QR codes are the only onboarding method, and most users stay in Camera.

Environment: iOS 18.7, iPhone 15 Pro max

Questions:

  1. Is there any supported way to have the CNA presented after a Camera-initiated Wi-Fi join, without requiring the user to open Settings or Safari?
  2. If not, is this expected behavior, or a bug worth tracking?
Answered by DTS Engineer in 911091022
Written by hlmdprm in 910864022

Our team has verified this behavior across various iPhone models and iOS versions.

OK.

Unfortunately, I don’t think there’s much that I can do to help you out here. The Apple Developer Forums are primarily focused on helping folks to use Apple APIs and tools to build products for Apple platforms. We’re not really set up to deal with on-the-wire interoperability issues like this one.

My general advice for folks in your situation is to file a bug about the issue you’re seeing. That way our network engineering team can investigating. For detailed advice on how to file such a bug in Filing a Wi-Fi Bug Report.

Please post your bug number, just for the record.

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

So, just to be clear, you ‘own’ these hotspots, right?

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

Yes. We own and operate the entire network end to end: the access points, DHCP, DNS and the captive portal server. It is a closed network without internet access, and the portal page is mandatory.

So we can change anything on the network side (for example, DHCP option 114 / RFC 8908, DNS, or HTTP responses). What we can't change is the join method: users scan a printed Wi-Fi QR code with the Camera app, and no app is involved.

Given that we control the network, is there anything on the network side that would cause the CNA, or a sign-in notification, to be presented after a Camera-initiated join?

Thanks for that confirmation.

I’d like to come back to tihs:

Written by hlmdprm in 852321021

Environment: iOS 18.7, iPhone 15 Pro max

Is does this only affect iOS 18? Or are you seeing it on more moderne versions?

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

Your insights confirm that this issue is not specific to iOS 18 or the iPhone 15 Pro Max but rather affects all versions of iOS.

As you pointed out, this behavior is a result of iOS’s design and has been observed in previous iOS versions as well. The issue persists in the current versions of iOS too.

Our team has verified this behavior across various iPhone models and iOS versions. We’ve consistently observed that the camera remains open after scanning a QR code, and there’s no automatic redirection to the captive portal.

Our own testing, it’s evident that this problem impacts all iOS versions. It appears to be a system-wide limitation in iOS.

If you have any further information on this topic, please don’t hesitate to let us know.

Written by hlmdprm in 910864022

Our team has verified this behavior across various iPhone models and iOS versions.

OK.

Unfortunately, I don’t think there’s much that I can do to help you out here. The Apple Developer Forums are primarily focused on helping folks to use Apple APIs and tools to build products for Apple platforms. We’re not really set up to deal with on-the-wire interoperability issues like this one.

My general advice for folks in your situation is to file a bug about the issue you’re seeing. That way our network engineering team can investigating. For detailed advice on how to file such a bug in Filing a Wi-Fi Bug Report.

Please post your bug number, just for the record.

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