Insights

Practical insights on building, launching, and monetizing indie products.

How to Fix ITMS-91053: Missing API Declaration in App Store Review

2024-09-12 15:02:56 +0800 CST

Starting May 1, 2024, Apple began enforcing new App Store review requirements related to Privacy Manifests. As a result, many apps started receiving the following review warning or error during submission:

ITMS-91053: Missing API declaration

This issue often appears even when no recent code changes were made, which can be confusing at first.

This article explains why this happens and how to fix it correctly.


What ITMS-91053 Means

The error indicates that your app references one or more Required Reason APIs, but does not include the required usage declaration in its privacy manifest.

A common example is:

  • NSPrivacyAccessedAPICategoryUserDefaults

Even indirect usage—such as through system frameworks or third-party libraries—can trigger this warning.

Apple does not require you to remove these APIs.
Instead, Apple requires you to declare why your app accesses them.


Why This Started Happening

Apple updated its App Store review guidelines to improve transparency around sensitive system APIs.

As part of this change, apps must explicitly declare the purpose of accessing certain APIs in a Privacy Manifest file (PrivacyInfo.xcprivacy).

This applies to new apps and app updates starting May 1, 2024.


Required Reason API Categories

Apple currently defines five categories that require usage justification:

  1. File timestamp APIs – Accessing file system timestamps
  2. System boot time APIs – Reading system uptime or boot time
  3. Disk space APIs – Reading storage or disk information
  4. Active keyboard APIs – Detecting keyboard state
  5. User defaults APIs – Reading or writing user preferences

Using any API in these categories requires a corresponding declaration.


Important Clarification: No Code Change Is Required

This is the most common misunderstanding.

ITMS-91053 is not a code error.
It is a metadata and configuration requirement.

You only need to:

  • Declare the API usage
  • Select an approved reason from Apple’s documentation

How to Fix ITMS-91053 (Step by Step)

Step 1: Create the Privacy Manifest File

  1. Open Xcode
  2. Go to File → New → File…
  3. Select the iOS tab
  4. Choose App Privacy
  5. Name the file PrivacyInfo

This creates a PrivacyInfo.xcprivacy file in your project.


Step 2: Declare the Required Reason API

Inside the privacy manifest, add an entry under Privacy Accessed API Types.

Conceptually, the structure looks like this:

Privacy Accessed API Types: [
  {
    Privacy Accessed API Type: User Defaults
    Privacy Accessed API Reasons: [
      "CA92.1: Access information from the same app, per documentation"
    ]
  }
]