Our app manages a captive network and was wondering how this effects support for pre-iOS 9 targets. Does this mean that NEHotspotHelper will be available for pre-iOS 9 targets?
No. But that shouldn’t matter because of the way that deprecation works. Deprecation has two effects:
At build time, if your deployment target is set to the OS where the deprecation was introduced (in this case iOS 9) or later, you get a build-time warning.
At run time the effect of the deprecation depends on the OS version:
It has no effect on versions prior to the deprecation version.
On the deprecation version and later, the effect can vary depending on the exact circumstances.
So, it’s fine for your captive network app to use NEHotspotHelper on iOS 9 and later and an alternative technique, based on
<SystemConfiguration/CaptiveNetwork.h>
, on earlier OS releases:
You won’t get a deprecation warning at build time until you set your deployment target to iOS 9 or later.
On iOS 8 and earlier you can continue using your old technique.
On iOS 9 and later you will use NEHotspotHelper.
Share and Enjoy
—
Quinn "The Eskimo!"
Apple Developer Relations, Developer Technical Support, Core OS/Hardware
let myEmail = "eskimo" + "1" + "@apple.com"