App crashes with __CRASHING_DUE_TO_PRIVACY_VIOLATION__ when trying to access contacts

After creating an Xcode project and finding the Info.Plist file, you may try adding NSContactsUsageDescription key, which should accept a string value.

A complete list of Cocoa Keys

Hope that helps!

EDIT

A part from the doc: (which can help you understand why it is crashing)

Important: To protect user privacy, an iOS app linked on or after iOS 10.0, and which accesses the user’s contacts, must statically declare the intent to do so. Include the NSContactsUsageDescription key in your app’s Info.plist file and provide a purpose string for this key. If your app attempts to access the user’s contacts without a corresponding purpose string, your app exits.


My app was missing NSFaceIDUsageDescription key


In short, the usage descriptions need to be specified inside *info.plist

That's no good for Cordova codebase since .plist files are not part of the repository. The simplest way I found to put them inside config.xml is this:

  1. Install cordova-custom-config
  2. Add the following inside config.xml:

.

<platform name="ios">
    <config-file parent="NSContactsUsageDescription" target="*info.plist">
      <string>Easily invite your friends</string>
    </config-file>
</platform>

Tags:

Ios

Cordova