72 votes

Détecter l'existence d'une caméra dans une application iPhone?

J'écris une application iOS et je dois être en mesure de détecter si l'appareil dispose d'un appareil photo. Auparavant, je vérifiais si le périphérique est un iPhone ou non, car seul l'iPhone dispose d'un appareil photo - mais avec le lancement de l'iPod touch 4, cette option n'est plus viable. L'application fonctionne sans caméra, mais la présence d'une caméra ajoute des fonctionnalités.

Alors, est-ce que quelqu'un peut me fournir un code qui renvoie s'il y a un appareil photo ou non?

170voto

Vladimir Points 110327

Vous pouvez utiliser la méthode +isSourceTypeAvailable: dans UIImagePickerController:

 if ([UIImagePickerController isSourceTypeAvailable: UIImagePickerControllerSourceTypeCamera])
   // Has camera
 

23voto

prewett Points 265

Si vous utilisez les classes AV Foundation au lieu de UIImagePickerController, vous pouvez effectuer les tâches suivantes:

 BOOL hasCamera = ([[AVCaptureDevice devices] count] > 0);
 

Si vous utilisez UIImagePickerController, cela ne vaut probablement pas la peine, car vous devrez ajouter AVFoundation.framework à votre projet.

20voto

Ben Zotto Points 32105

Oui, une API est fournie pour cela:

 BOOL isCamera = [UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera];
 

6voto

RawMean Points 1761

Si vous avez besoin de savoir si le périphérique possède une caméra avant ou arrière, utilisez ceci:

 isCameraAvailable = [UIImagePickerController isCameraDeviceAvailable:UIImagePickerControllerCameraDeviceFront];
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X