How can I detect if the phone is in airplane mode? (It's not enough to detect there is no internet connection, I have to be able to distinguish these 2 cases)
Try using SCNetworkReachabilityGetFlags
(SystemConfiguration framework). If the flags variable handed back is 0 and the return value is YES, airplane mode is turned on.
Check out Apple's Reachability classes.