Как я могу определить, есть ли на устройстве iPhone OS датчик приближения? - PullRequest
2 голосов
/ 06 апреля 2010

Документы, относящиеся к датчику приближения, гласят, что если API-интерфейсы датчиков приближения используются на устройстве без датчика приближения (например, iPod touch, iPad), они просто возвращаются, как если бы датчик приближения срабатывал.

Помимо проверки строки [[UIDevice currentDevice] .model] и анализа "iPhone", "iPod touch" или "iPad", есть ли более удобный способ определить, есть ли датчик приближения на данном устройстве?

Ответы [ 3 ]

3 голосов
/ 06 апреля 2010

Взято из документации UIDevice:

proximityMonitoringEnabled

Булево значение, указывающее, мониторинг близости включен (ДА) или нет (НЕТ).

...

Обсуждение

....

Не все устройства iPhone OS имеют датчики приближения. Чтобы определить, если доступен мониторинг близости, попытаться включить его. Если значение свойство бесконечность остается НЕТ, мониторинг близости нет имеется.

Клаус

2 голосов
/ 06 апреля 2010

В документации Apple отмечается, что «Не все устройства iPhone OS имеют датчики приближения». Чтобы определить, поддерживает ли устройство, в котором работает ваше приложение, мониторинг приближения, задайте для свойства близостиMonitoringEnabled значение ДА, а затем проверьте его значение:

UIDevice *device = [UIDevice currentDevice];
device.proximityMonitoringEnabled = YES;
if (device.proximityMonitoringEnabled == YES)
    // do something

Источник: http://www.mobileorchard.com/new-in-iphone-30-tutorial-series-part-4-proximity-detection/

0 голосов
/ 25 мая 2015

Может быть, этот фрагмент может быть полезен:

-(BOOL) hasProximitySensor {

    UIDevice *dev = [UIDevice currentDevice];
    BOOL oldValue = [dev isProximityMonitoringEnabled];
    [dev setProximityMonitoringEnabled:!oldValue];
    BOOL newValue = [dev isProximityMonitoringEnabled];

    [dev setProximityMonitoringEnabled:oldValue];

    return (oldValue != newValue);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...