The thing is that your application is most likely not a background application and thus suspended once you press the home button to activate airplane mode. Since your app is not running when the reachability changes, it won't get any notification. You will get the notification, however, when network reachability changes while your app is in foreground.
So you probably want to check the reachability when your app enters the foreground in addition to what you have already implemented.