dvIosPermissions top-level constant

Map<String, DVIosPermission> const dvIosPermissions

Every permission name Dartvel understands, and what it needs on iOS.

The same names as dvAndroidPermissions, so one call works on both phones; a test asserts the two tables agree.

Implementation

const Map<String, DVIosPermission> dvIosPermissions = <String, DVIosPermission>{
  'camera': DVIosPermission(<String>['NSCameraUsageDescription']),
  'microphone': DVIosPermission(<String>['NSMicrophoneUsageDescription']),
  'location': DVIosPermission(<String>['NSLocationWhenInUseUsageDescription']),
  'contacts': DVIosPermission(<String>['NSContactsUsageDescription']),
  // UNUserNotificationCenter asks with no key.
  'notifications': DVIosPermission(<String>[]),
  // Another application's files are reached through the document picker,
  // and picking is the grant.
  'storage': DVIosPermission(<String>[]),
  'photos': DVIosPermission(<String>['NSPhotoLibraryUsageDescription']),
  'media': DVIosPermission(<String>['NSPhotoLibraryUsageDescription']),
  // No iOS application can read every file on the device.
  'allFiles': DVIosPermission(<String>[], supported: false),
  'bluetooth': DVIosPermission(<String>['NSBluetoothAlwaysUsageDescription']),
  'nfc': DVIosPermission(<String>['NFCReaderUsageDescription']),
  'biometrics': DVIosPermission(<String>['NSFaceIDUsageDescription']),
  'clipboard': DVIosPermission(<String>[]),
  'files': DVIosPermission(<String>[]),
};