Полный список разрешений приложения iOS
различные веб-сайты (например) объясните, что модель разрешений iOS работает следующим образом: все приложения имеют набор основных разрешений (включая доступ в интернет). Если во время выполнения требуется дополнительное разрешение, пользователю предлагается предоставить или запретить его.
какие разрешения знает iOS? Что относится к базовому набору разрешений? Что можно сделать без согласия пользователя? В основном я ищу список похож на этот, только на iOS
4 ответов
в отличие от других ответов, существует официальный список разрешений, которые запрашиваются во время выполнения. Это в руководство по безопасности iOS (стр. 73):
iOS помогает предотвратить доступ приложений к личной информации пользователя без разрешения. Кроме того, в настройках пользователи могут видеть, каким приложениям они разрешили доступ к определенной информации, а также предоставлять или отменять любой будущий доступ. Это включает в себя доступ к:
- контакты
- календари
- напоминания
- фото
- двигательная активность и фитнес
- Услуги
- Apple Music
- музыки и видео активность
- аккаунты в социальных сетях, таких как Twitter и Facebook
- микрофон
- камера
- HomeKit
- здоровье
- речь признание
- обмен Bluetooth
- ваша медиа-библиотека
если пользователь входит в iCloud, приложениям по умолчанию предоставляется доступ к iCloud Drive. Пользователи могут управлять доступом каждого приложения в iCloud в настройках. Кроме того, iOS предоставляет ограничения, препятствующие перемещению данных между приложениями и учетными записями, установленными решением MDM, и учетными записями, установленными пользователем.
поскольку iOS 10 требуется предоставить описание для запрошенного разрешения. В документации разработчика фреймворков вы увидите, требуется ли такое описание, и доступ к его API приведет к приглашению разрешения (или сбою, если не дано описание), например, см. подсказку в документация разработчика Contacts
рамки:
важно
приложение iOS, связанное с iOS 10.0 или после него, должно включать в себя
Info.plist
file ключи описания использования для типы данных, к которым он должен получить доступ, или он рухнет. Чтобы получить доступ к данным контактов конкретно, он должен включатьNSContactsUsageDescription
.
кроме того, хороший источник доступных разрешений для каждой версии iOS/macOS находится в Ссылка Ключа Списка Свойств Информации (ищите UsageDescription
содержащиеся в словах).
все ключи вы можете добавить в свой перечислены в документация Apple и описано.
для большинства фоновых режимов вам нужно добавить ключ в Info.plist, чтобы указать, что приложение хочет запустить код в фоновом режиме.
но эта информация не используется для запроса разрешения пользователя, только для обеспечения совместимости устройства.
только некоторые службы требуют разрешения пользователя (например, Службы геолокации и уведомлений), которые автоматически запрашиваются у пользователя при первой попытке вашего приложения использовать соответствующий API.
все, что находится в вашей песочнице, вы можете сделать. Таким образом, доступ в интернет и хранение файлов разрешены по умолчанию, но попытка поговорить с другим приложением, например, чтение рулона камеры или показ push-уведомлений не.
похоже, что официального списка нет.
до сих пор я нашел эти разрешения, где жирным шрифтом являются основные разрешения:
- доступ в интернет
- доступ к геолокации
- использование служб уведомлений (получение и/или отображение?)
- говорить с другими приложениями
- доступ к камере
- доступ к микрофону
- доступ к телефонному контакту список
- доступ к календарям
- доступ к фотографиям
- "напоминания" планирование