Network Extension and VPN: What’s new?
Apple has been hard at work extending the network extension framework APIs. There is for example an NEHotspotHelper api that allows you to easily connect with hotspots or the NEVPNManager to support apps that work with VPN networks, for users that provide enterprise remote access there is the NETunnelProvider API, last but not least Apple has developed an NEFilterProvider API that will help you filter you network or internet content within you app.
With the NEHotspotHelper API you don’t have to develop your own software to handle making the connection to hotpots or making changes to various configuration settings, this is all handled for you with the API making it just a little easier to get your app off the development floor and into the app store. APIs can drastically reduce the amount of time it takes to complete development and they also help with performance by offloading specific tasks, when Apple updates their APIs users may often see a boost in speed caused by the API having been updated.
The NEVPNManager on the other hand allows full control and configuration of the built-in IPSec client on iOS devices as well as automatic connections as well as setup http proxies and work with enterprise vpn configurations with IKEv1 and IKEv2 support. The IKEv2 protocol has been updated to include MOBIKE, load balancing, and support for ipv6.
NETunnelProvider is a new API from Apple designed to aid in customized enterprise vpn solutions. This allows you to easily create apps that support IP layer and app layer tunneling through various vpn services. There API provides the ability to fully configure and control your vpn provider’s services directly from your app.
There NEAppProxyProvider allows you to easily develop apps that can be setup on a proxy. This allows your iPhone to work within an open or vpn environment while simultaneously allowing your developed app to remain connected to the proxy you’ve provided within the ProxyProvider API. These features are currently available in iOS9 and OS X El Capitan.
For schools and other organizations you can utilize the APIs within NEFilterProvider to filter the web content flowing into your devices. There are many uses for network filtering though schools will likely utilize such a feature the most. If you are developing a school appropriate web browser for example you could tie into the APIs within NEFilterProvider and allow the teachers configure the application to block specific websites or categories of content.
All of the new features have been released to developers however users may see them implemented in new apps once El Capitan and iOS9 are released for the general public. Apple is working to get all of the documentation out to the community as quickly as possible and will be accessible shortly. If you are an iOS developer you now have a chance to access these APIs and create new advance applications without the addition effort of writing your own network and vpn functionality into your software.