ITMS-91053: Missing API declaration?

ITMS-91053: Missing API declaration
ITMS-91053: Missing API declaration

ITMS-91053: Missing API declaration – Your app’s code in the “*******” file references one or more APIs that require reasons, including the following API categories: NSPrivacyAccessedAPICategoryUserDefaults. While no action is required at this time, starting May 1, 2024, when you upload a new app or app update, you must include a NSPrivacyAccessedAPITypes array in your app’s privacy manifest to provide approved reasons for these APIs used by your app’s code. For more details about this policy, including a list of required reason APIs and approved reasons for usage, visit: https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api.

Apple Developer Relations

Have you ever received a message from Apple like this right after submitting your app for review to the Apple Developer team? Don’t panic. All you need to do is create a PrivacyInfo.xcprivacy file detailing what Apple will require starting May 1st. It’s actually pretty easy.

1. Let’s dive in. Open up Xcode.

2. File > New > File or simply hit Command + N.

3. In the Filter field, type “privacy,” though “priv” will suffice.

ITMS-91053: Missing API declaration - Your app’s code in the

4. Since the App Privacy file is already selected, just hit Next.

5. Leave the filename as “PrivacyInfo.” Check the box next to your app in the Targets section.

ITMS-91053: Missing API declaration - Your app’s code in the

6. At the moment, our PrivacyInfo file is empty. So, hit the plus sign next to App Privacy Configuration and add exactly what was mentioned in the email from Apple – NSPrivacyAccessedAPITypes.

ITMS-91053: Missing API declaration - Your app’s code in the
ITMS-91053: Missing API declaration - Your app’s code in the

7. We’ve added our array. Now, click the checkbox next to it to “provide approved reasons for these APIs used by your app’s code.”

ITMS-91053: Missing API declaration - Your app’s code in the

8. Under Item 0, hit the plus sign and add Privacy Accessed API Type, choosing the key specified by Apple. In my case, it’s User Defaults (as indicated in Apple’s email, NSPrivacyAccessedAPICategoryUserDefaults).

ITMS-91053: Missing API declaration - Your app’s code in the

9. Next, hit the plus sign next to Privacy Accessed API Type and add Privacy Accessed API Reasons to describe in more detail the reason for using the aforementioned API (User Defaults).

ITMS-91053: Missing API declaration - Your app’s code in the

10. Check the box next to Privacy Accessed API Reasons to add our Items. In my case, we only need to specify User Defaults – CA92.1: Access info from same app, per documentation. If you, for example, use a 3rd-party SDK, be sure to include that reason as well by adding a new Item.

ITMS-91053: Missing API declaration - Your app’s code in the

Rest assured, there’s no need to fret over the accuracy of the information you provide in this file. Should any discrepancies arise, fear not! Following the submission of your application for review, Apple will promptly notify you via email, pinpointing any issues with precision: ITMS-91056: Invalid privacy manifest. Then, you’ll simply need to rectify the errors and resubmit your application for review 🙂

ITMS-91056: Invalid privacy manifest – The PrivacyInfo.xcprivacy file from the following path is invalid: “PrivacyInfo.xcprivacy”. While no action is required at this time, starting May 1, 2024, when you upload a new app or app update, keys and values in your app’s privacy manifest must be in a valid format. For more details about privacy manifest files, visit: https://developer.apple.com/documentation/bundleresources/privacy_manifest_files.

Apple Developer Relations