I've implemented VPN apps both for iOS and MacOS.
For iOS Im using an observer (for key defaultPath) to detect network changes between 3G and wifi to disconnect the tunnel and open a new one when the connectivity changes
for OSX I want to do the same thing and detect changes between wifi and ethernet
Using reachability doesnt seems like a good solution
So how can I do it?