expo-privacy-manifest-polyfill-plugin
Version:
Config plugin for configuring Apple privacy manifests in SDK49 and below
54 lines (40 loc) • 1.7 kB
Markdown
# expo-privacy-manifest-polyfill-plugin
Expo Config Plugin to configure Apple privacy manifests in SDK49 and below.
For SDK50+, the plugin lives in [@expo/config-plugins](https://github.com/expo/expo/tree/main/packages/%40expo/config-plugins) and can be used by default.
Learn more: https://docs.expo.dev/guides/apple-privacy/
## Expo installation
> This package cannot be used in the "Expo Go" app because [it requires custom native code](https://docs.expo.io/workflow/customizing/).
First install the package with yarn, npm, or [`npx expo install`](https://docs.expo.io/workflow/expo-cli/#expo-install).
```sh
npx expo install expo-privacy-manifest-polyfill-plugin
```
After installing this npm package, add the [config plugin](https://docs.expo.io/guides/config-plugins/) to the [`plugins`](https://docs.expo.io/versions/latest/config/app/#plugins) array of your `app.json` or `app.config.js`:
```json
{
"expo": {
"plugins": ["expo-privacy-manifest-polyfill-plugin"]
}
}
```
Next, rebuild your app as described in the ["Adding custom native code"](https://docs.expo.io/workflow/customizing/) guide.
## Example
Use the `NSPrivacyAccessedAPIType` and `NSPrivacyAccessedAPITypeReasons` values listed in https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api.
```json
{
"expo": {
"name": "My App",
"slug": "my-app",
// ...
"ios": {
"privacyManifests": {
"NSPrivacyAccessedAPITypes": [
{
"NSPrivacyAccessedAPIType": "NSPrivacyAccessedAPICategoryUserDefaults",
"NSPrivacyAccessedAPITypeReasons": ["CA92.1"]
}
]
}
}
}
}
```