Understanding iOS Privacy Manifest Requirements for Expo Apps
Starting May 2024, Apple requires all iOS apps to include a privacy manifest. This affects new apps and updates, including those built with Expo. If you're using Expo to develop your app, understanding these changes is crucial to ensure your app continues to be accepted on the App Store.
The problem
If you submitted your app to TestFlight after March 13th, you might have received an "ITMS-91053" warning from Apple. This warning indicates that your app uses certain APIs (ways your app talks to the operating system) that require a privacy manifest. Without this manifest, your app won't meet Apple's new requirements and could be rejected.
Why it happens
Apple's new policy is designed to enhance user privacy. A privacy manifest is a file that declares why your app needs to access certain features or data on a user's device. This file must list all the APIs your app uses that fall under specific privacy categories, like accessing disk space or file timestamps. Apple wants to ensure that apps are transparent about the data they access and why.
The fix
To comply with these requirements, you need to add a privacy manifest to your app's configuration. Here's how you can do it:
- Identify the APIs: First, determine which APIs your app uses that fall under Apple's privacy categories. This might include APIs for accessing disk space or file timestamps.
- Update your app configuration: Modify your app's configuration file, either
app.jsonorapp.config.js, to include a privacy manifest. This manifest should clearly state the reasons your app needs to use these APIs. - Use Expo's guidance: Expo provides resources and tools to help you add the privacy manifest to your app. Follow their guidance to ensure your app meets the new requirements.
- Test your app: Submit your app to TestFlight again to check for any warnings. If you receive the "ITMS-91053" warning again, review your manifest and make sure all necessary APIs are declared.
Action checklist
- Review Apple's privacy categories and identify relevant APIs in your app.
- Update
app.jsonorapp.config.jswith a privacy manifest. - Follow Expo's guidance to ensure compliance.
- Test your app on TestFlight and address any warnings.
When it does not apply
If your app does not use any APIs that fall under Apple's specified privacy categories, you might not need to make changes. However, it's important to double-check your app's API usage to avoid any surprises during submission.
For those using Good Food Pro's source code, these updates are essential to maintain smooth app submissions. Explore our EAS Build guide for more on building white-label apps, and visit our documentation for detailed instructions on configuring your app's privacy manifest.