Apple specifically recommends against this, instead preferring you to test individual functions and act in accordance with them. It makes your life a lot easier when Apple releases new hardware; if, for example, Apple launches an iPod Touch with a camera, and you need a camera for your application, your users will not be upset that it tells them that “no camera was found” when it is, because it reports that it is not iPhone Here is one way to require all the distinctive hardware features. Do not use them to enable / disable supported, but not required functions: this can be determined at run time through the APIs used to interact with this function.
UIDevice (. , ) , iPhone, , .