2010-12-12 7 views
4

Общее мое приложение работает на любом устройстве iOS, однако у меня есть функция, которая работает только на iPhone 4, поэтому, если у пользователя нет iPhone 4, я бы хотел отобразить предупреждение, сообщив им, что эта функция не будет работать на их устройстве?Как определить, доступна ли вспышка камеры на устройстве iOS

Как я могу это сделать?

Я пытаюсь проверить, если устройство имеет камеру вспышка

+0

Какая особенность вам нужна? –

+0

Мне нужна камера-вспышка для этой функции – cgossain

+0

Я обновил свой ответ. Надеюсь это поможет. –

ответ

8

вы пробовали различные UIDevice методы? Тем не менее, есть, скорее всего, более простой способ, в зависимости от того, какую конкретную функцию требуется для вашей дополнительной функциональности, но не зная, что это трудно дать конкретный пример.

N.B .: Я также рекомендовал бы не предполагать набор функций на основе обнаруженного устройства по соображениям будущей совместимости.

UPDATE

С точки зрения вспышки камеры, я знаю, что вы можете использовать UIImagePickerController «s isFlashAvailableForCameraDevice: метод. (Вероятно, вы захотите назвать это после первой проверки существования камеры с помощью метода isCameraDeviceAvailable:).

+0

Проверка на конкретное устройство почти никогда не является правильным ответом, обычно вы должны проверить наличие/отсутствие функции. – kubi

+0

@ Kuba - Yup, редактировал мой ответ, чтобы точно сказать, что когда вы покинули свое сообщение, вот почему я попросил OP на мой комментарий, связанный с вопросом. :-) –

+0

Я пытаюсь проверить, есть ли у них камера-вспышка – cgossain

2

Вам не нужно знать, на каком устройстве вы работаете, проверьте, не отличается ли ваша функция хотите использовать, и отображать предупреждение, если это не так.

Если вы сообщите нам, какую конкретную функцию вы ищете, мы можем помочь с конкретным способом проверить эту функцию.

Хотя мой собственный совет здесь, выскакивать диалоговое окно, в котором говорится, «Если у вас есть более новый телефон, вы были бы в состоянии сделать это!» на самом деле просто тереть лицо вашего пользователя в том, что у них старый телефон, не так ли? Лучшим способом справиться с этим было бы: 1) показать на своей странице AppStore, что некоторые функции не будут доступны на телефонах, отличных от iPhone 4, и 2) ухудшить поведение вашего приложения на iPhone 4s.

+0

Я пытаюсь проверить, есть ли у них камера-вспышка – cgossain

+0

+1 Приходится соглашаться - нет смысла рассказывать пользователю то, что они не могут сделать.Это лучше всего рассматривать в рекламных блогах. –

10

Если вы не используете UIImagePicker:

AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo]; 
BOOL hasFlash = [device hasFlash]; 

Существует также [device hasTorch], если вам это нужно.

Смежные вопросы