What is the correct method to check the interface orientation of device.
Should I check status bar orientation or the orientation property of current active view controller?
Also can someone explain me the scenarios where the device orientations like face up and face down will be useful?
If you are looking to find out which way the user sees the interface then use the interface orientation. I suppose both methods are fine.
If you want to find out which way the physical device is positioned use the device orientation.
Note that interface orientation is different from the device orientation (so there is no such thing as “interface orientation of device”).
Device orientation can be flat up/flat down (Interface can only be portrait/upside down/landscape right/left). Device orientation might also be different if the device is rotated but the interface is set to a constant one. Plus landscape orientations are reversed e.g. device landsapeRight == interface landscapeLeft.
I am not sure when face up/down might be useful.
Just in case you need the actual methods, you can check the interface orientation from a view controller using this:
Or from any class in the app using this (status bar check):
Get the device orientation like this: