Нужно ли мне проверять LSRequiresIPhoneOS, чтобы узнать, доступна ли камера?
-
22-08-2019 - |
Вопрос
В моем проекте Xcode есть Info.plist
файл в ресурсах.У него есть такой атрибут:
LSRequiresIPhoneOS
Итак, мой вопрос:мне нужно это проверить?Я хочу, чтобы мое приложение само узнавало, есть камера или нет.Если нет, функция отключена, и если да:Прохладный!Он должен работать как на iPhone, так и на iPod Touch!
Я предполагаю, что если я отключу это в Info.plist
, я по-прежнему могу использовать функции iPhone, и Apple не откажется из-за этого от моего кода, верно?
Решение
Вам следует оставить флажок LSRequiresIPhoneOS (это значение по умолчанию).Это не помешает запуску приложения на iPod Touch.Это может показаться запутанным, но в данном случае «IPhoneOS» относится к ОС, которая работает как на iPhone, так и на iPod Touch (при условии, что пользователь установил ОС iPhone на Touch, чтобы он мог запускать сторонние приложения).
Что касается использования камеры, вы можете использовать что-то вроде следующего, чтобы конкретно узнать, доступна ли камера:
BOOL isCameraAvailable = [UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera];
Такой подход — проверка конкретной функциональности — обычно лучше, чем использование версии ОС iPhone или модели оборудования.