I have a similar problem, but it seems that iOS reverts to the legacy detection method only on the first connect. When I connect to the network the second time, it uses the API endpoint from the DHCP option. It appears that iOS does not even try to use the new method on first connect. From the console, on first connect (or after forgetting the network and connecting to it again):
com.apple.captive default 12:04:40.051877+0300 configd en0: Probing 'portal2' After this, I can see from dnsmasq's logs that iOS attempts to resolve captive.apple.com.
On the second attempt, I get the following in the console, followed by the captive portal opening correctly:
com.apple.captive default 12:08:19.191328+0300 configd en0: Evaluating API 'portal2' I can also see from dnsmasq's logs that on both occasions the iPhone did ask for DHCP option 114 and received it.
Topic:
App & System Services
SubTopic:
Core OS
Tags: