2015-04-27 11 views
7

Verschiedene Websites (e.g.) erklären, dass das iOS-Berechtigungsmodell wie folgt funktioniert: Alle Apps verfügen über eine Reihe grundlegender Berechtigungen (einschließlich Internetzugriff). Wenn während der Laufzeit eine zusätzliche Berechtigung erforderlich ist, wird der Benutzer gefragt, ob er diese erteilen oder verweigern soll.Vollständige Liste der iOS App-Berechtigungen

Welche Berechtigungen kennt iOS? Was gehört zu den grundlegenden Berechtigungen? Was kann ohne Benutzereinwilligung getan werden? Grundsätzlich suche ich nach einem list similar to this one, nur für iOS

Antwort

8

Im Gegensatz zu anderen Antworten gibt eine offizielle Liste der Berechtigungen, die auf Laufzeit gestellt werden. Es ist in der iOS Security Guide (S. 62):

iOS hilft, Apps zu verhindern, auf die persönlichen Informationen eines Benutzers ohne Erlaubnis zuzugreifen. Darüber hinaus können Benutzer in den Einstellungen sehen, welche Apps auf bestimmte Informationen zugreifen dürfen, und zukünftige Zugriffe gewähren oder widerrufen.Dies beinhaltet den Zugang zu:

  • Kontakte
  • Mikrofon
  • Kalender
  • Kamera
  • Reminders
  • HomeKit
  • Fotos
  • Gesundheit
  • Bewegung Aktivität und Fitness
  • Spracherkennung
  • Location Services
  • Bluetooth
  • Medienbibliothek
  • Social-Media-Konten, wie Twitter und Facebook

Wenn sich der Benutzer in iCloud teilen, sind Anwendungen gewährt Zugang Standardmäßig auf iCloud Drive. Nutzer können den Zugriff jeder App unter iCloud in den Einstellungen steuern. Darüber hinaus bietet iOS Einschränkungen, die verhindern, dass Daten zwischen Apps und von MDM installierten und vom Benutzer installierten Konten verschoben werden.

Seit iOS 10 ist eine Beschreibung der angeforderten Berechtigung erforderlich. In der Entwicklerdokumentation der Frameworks sehen Sie, ob eine solche Beschreibung erforderlich ist, und der Zugriff auf dessen API führt zu einer Erlaubnisaufforderung (oder zum Absturz, wenn keine Beschreibung angegeben wird), z. siehe Hinweis im developer documentation of the Contacts framework:

Wichtigen

Ein iOS-App verknüpft am oder nach dem iOS 10.0 muss in seiner Info.plist Datei enthält die Nutzungsbeschreibung Schlüssel für die Arten von Daten muss darauf zugreifen oder es wird abstürzen. Um speziell auf die Kontaktdaten zuzugreifen, muss NSContactsUsageDescription enthalten sein.

Zusätzlich ist eine gute Quelle der verfügbaren Berechtigungen für jedes iOS/macOS Version im Information Property List Key Reference (Suche nach UsageDescription in Worten enthalten).

+0

Schön, endlich was Offizielles! Allerdings liest "Dies schließt ..." ein. Ich nehme an, dass diese Liste auch nicht vollständig ist. Ich gehe beispielsweise davon aus, dass es eine Berechtigung für den Zugriff auf die Geolokation des Benutzers gibt, die jedoch nicht aufgelistet ist. –

+0

@JackMiller Das stimmt, vielleicht, weil Ortungsdienste im vorherigen Absatz beschrieben sind. Ein Unterschied wäre, dass es verschiedene Berechtigungen für den Standort gibt, wie "Immer" und "Bei Verwendung". Aber dann gibt es auch für HealthKit eine feinkörnigere Kontrolle. Es könnte definitiv gründlicher sein. – Max

4

Alle Schlüssel, die Sie Ihrer Datei hinzufügen können, sind in Apple documentation aufgelistet und beschrieben.

Für die meisten Hintergrundmodi müssen Sie einen Schlüssel in Info.plist hinzufügen, um anzuzeigen, dass die App Code im Hintergrund ausführen möchte.

Diese Information wird jedoch nicht verwendet, um die Benutzerberechtigung zu erfragen, sondern nur, um die Gerätekompatibilität sicherzustellen.

Nur einige Dienste erfordern Benutzerberechtigungen (wie Geolocation- und Notification-Dienste), die beim ersten Aufruf der Anwendung für die Verwendung der entsprechenden API automatisch beim Benutzer angefordert werden.

+0

Es gibt mehrere Berechtigungen (z. B. Zugriff auf das Mikrofon), die, wenn Sie nicht über den entsprechenden Schlüssel in _info.plist_ verfügen, ein sofortiges Herunterfahren Ihrer App verursachen. Der Benutzer wird nur aufgefordert, die Erlaubnis zu erteilen, wenn die Schlüssel überhaupt vorhanden sind. –

2

Alles, was in Ihrer Sandbox ist, können Sie tun. Internet-Zugang und das Speichern von Dateien sind standardmäßig erlaubt, aber es ist nicht möglich, mit einer anderen App zu sprechen, um beispielsweise die Kamera zu lesen oder Push-Benachrichtigungen zu zeigen.

+0

"Alles in meiner Sandbox." Das ist Vermutung, die ich vermeiden möchte. Ich suche nach (offizieller) Dokumentation. –

+2

Es gibt keine Art von Liste, die Apple Ihnen zur Verfügung stellen muss, um die einzelnen Bits der über mich verstreuten Berechtigungen zu finden, fürchte ich. –

1

Es scheint, dass es keine offizielle Liste gibt.

Bisher fand ich diese Berechtigungen, wo die Mutige grundlegende Berechtigungen sind: (? Empfangen und/oder zeigen)

  • Internetzugang
  • Zugriff auf Geolokalisierung
  • Benachrichtigungen Dienste
  • im Gespräch mit anderen Anwendungen
  • Zugriff auf die Kamera
  • Zugriff auf Mikrofon
  • zugreifenden Telefon Kontaktliste
  • Zugriff auf Kalender
  • Zugriff auf Fotos
  • Programmieren von Erinnerungen
Verwandte Themen