Required keys for info.plist file on Mac and iOS
In FileMaker, you can add those entries right away in Xcode for your iOS app made with FileMaker iOS SDK. Sometimes for some things, you may even need to add the info.plist entries to the FileMaker Pro app itself.
In Xojo, you can create an info.plist file and drop into the project. Xojo will merge your info.plist file into the one for the application. This is a great way to automatically add the right entries. Other way is to use defaults app in a shell script, which can do that right away when you do code signing.
e.g. in a build script:
Dim App As String = CurrentBuildLocation + "/" + CurrentBuildAppName + ".app"
Call DoShellCommand("/usr/bin/defaults write " + App + "/Contents/Info ""NSCalendarsUsageDescription"" ""Exports events to your calendar.""")
The following table shows possible entries:
Key | Name | Description | Platforms |
---|---|---|---|
NFCReaderUsageDescription | NFC Reader Usage Description | Specifies the reason for your app to use the device’s NFC reader. | iOS 11 and later |
NSAppleMusicUsageDescription | Media Library Usage Description | Specifies the reason for your app to use the media library. | iOS |
NSBluetoothPeripheralUsageDescription | Bluetooth Peripheral Usage Description | Specifies the reason for your app to use Bluetooth. | iOS 6.0 and later |
NSCalendarsUsageDescription | Calendars Usage Description | Specifies the reason for your app to access the user’s calendars. | iOS 6.0 and later, EventKit on macOS |
NSCameraUsageDescription | Camera Usage Description | Specifies the reason for your app to access the device’s camera. | iOS 7.0 and later |
NSContactsUsageDescription | Contacts Usage Description | Specifies the reason for your app to access the user’s contacts. | iOS 6.0 and later, OS X v10.8 and later |
NSFaceIDUsageDescription | Face ID Usage Description | Specifies the reason for your app to use Face ID. | iOS 11 and later |
NSHealthClinicalHealthRecordsShareUsageDescription | Clinical Health Records Share Usage Description | Specifies text that provides justification for accessing a user’s clinical health records. | iOS 12.0 and later |
NSHealthShareUsageDescription | Health Share Usage Description | Specifies the reason for your app to read the user’s health data. | iOS 8.0 and later |
NSHealthUpdateUsageDescription | Health Update Usage Description | Specifies the reason for your app to make changes to the user’s health data. | iOS 8.0 and later |
NSHomeKitUsageDescription | HomeKit Usage Description | Specifies the reason for your app to access the user’s HomeKit configuration data. | iOS, watchOS |
NSLocationAlwaysUsageDescription | Location Always Usage Description | Specifies the reason for your app to access the user’s location information at all times. | iOS 8.0 and later, macOS 10.10 and later |
NSLocationWhenInUseUsageDescription | Location When In Use Usage Description | Specifies the reason for your app to access the user’s location information while your app is in use. | iOS 8.0 and later, macOS 10.10 and later |
NSMicrophoneUsageDescription | Microphone Usage Description | Specifies the reason for your app to access any of the device’s microphones. | iOS 7.0 and later |
NSMotionUsageDescription | Motion Usage Description | Specifies the reason for your app to access the device’s accelerometer. | iOS 7.0 and later |
NSPhotoLibraryAddUsageDescription | Photo Library Additions Usage Description | Specifies the reason for your app to get write-only access to the user’s photo library. | iOS 11 and later |
NSPhotoLibraryUsageDescription | Photo Library Usage Description | Specifies the reason for your app to access the user’s photo library. | iOS 6.0 and later |
NSRemindersUsageDescription | Reminders Usage Description | Specifies the reason for your app to access the user’s reminders. | iOS 6.0 and later, EventKit on macOS |
NSSiriUsageDescription | Siri Usage Description | Specifies the reason for your app to send user data to Siri. | iOS 10 and later |
NSSpeechRecognitionUsageDescription | Speed Recognition Usage Description | Specifies the reason for your app to send user data to Apple’s speech recognition servers. | iOS |
NSVideoSubscriberAccountUsageDescription | TV Provider Usage Description | Specifies the reason for your app to access the user’s TV provider account. | tvOS |