When using Safari at a place with a captive portal like Starbucks, iOS devices will launch a special modal webview to authenticate with the portal. I've seen third party apps trigger this so it's possible to do outside of Safari but I don't know how. It doesn't seem to come for free just by using Reachability or making a network request.
Edit: The best I can say is the answer I accepted works sometimes. It's probably the right answer but I don't know why it's not consistent. It can take several network attempts before it will launch the captive portal.
Is UIRequiresPersistentWiFi
set in your plist file? That is the only public API available to devs to indicate WiFi need.