We have an app that uses network, compass, camera and telephony. It has been rejected because we don't specify in UIRequiredDeviceCapabilities the keys that are requiered or prohibited. This is a newer version of an app that we upload months ago and we don't had any problem before.
On documentation says
You should include keys only for the features that your application absolutely requires. If your application can accommodate missing features by not executing the appropriate code paths, you do not need to include the corresponding key.need to include the corresponding key.
How can I make "code paths" on my app? It refers to conditional compilation (#ifdef __IPHONE_3_X) or checking the device features on runtime and executing different code?