iOS Question ITMS-91056: Invalid privacy manifest

Neil Rohan

Member
Licensed User
I received the following email from Apple after submitting a update to an existing app, but with the recommended plist file that was discussed in earlier threads:

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.

Here is the original Apple response to the first submissions:

Hello,

We noticed one or more issues with a recent submission for App Store review for the following app:

  • A&P PRO
  • Version 4.1
  • Build 4.1
Although submission for App Store review was successful, you may want to correct the following issues in your next submission for App Store review. Once you've corrected the issues, upload a new binary to App Store Connect.

ITMS-91053: Missing API declaration - Your app’s code in the “AP PRO” file references one or more APIs that require reasons, including the following API categories: NSPrivacyAccessedAPICategoryDiskSpace. 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/documen...t_files/describing_use_of_required_reason_api.

ITMS-91053: Missing API declaration - Your app’s code in the “AP PRO” file references one or more APIs that require reasons, including the following API categories: NSPrivacyAccessedAPICategoryFileTimestamp. 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/documen...t_files/describing_use_of_required_reason_api.

ITMS-91053: Missing API declaration - Your app’s code in the “AP PRO” 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/documen...t_files/describing_use_of_required_reason_api.

Apple Developer Relations

I included the following file in the re-submission:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NSPrivacyAccessedAPITypes</key>
<array>
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryFileTimestamp</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>3B52.1</string>
</array>
</dict>
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryDiskSpace</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>E174.1</string>
</array>
</dict>
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryUserDefaults</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>CA92.1</string>
</array>
</dict>
</array>
</dict>
</plist>

This file was added to the <project"\files\special directory:

Picture1.png


Is there a line I need to add to the Main module to reference this file? It appears to be in the correct (forum recommended format).

Thanks in advance.
 

marcick

Well-Known Member
Licensed User
Longtime User
Before posting anything, search the forum. "Missing API declaration" is the search key
 
Upvote 0

Neil Rohan

Member
Licensed User
I understand, except the previous relevant posts were identified as:
"This is an old thread.
Please don't post here. Start a new thread instead.
New messages are likely to be ignored."

Ergo, my new message.

Please advise.
 
Upvote 0

marcick

Well-Known Member
Licensed User
Longtime User
Yes.
Maybe any sintax error in the file ? I attach here mine so you can compare.
 

Attachments

  • PrivacyInfo.zip
    471 bytes · Views: 43
Upvote 0

Neil Rohan

Member
Licensed User
Can you upload the file itself? Might be related to a UTF8 BOM or something like that.
I received a PrivacyInfo file from a forum member that, aside from the inclusion of a "Time Stamp" declaration (which I don't need), appeared to be identical with mine. I've included both files. I'm still not 100% sure why Apple kicked mine back. However, with a valid file provided by MARCICK (forum member), my immediate problem is solved. I resubmitted the app with the new file and it was accepted without errors.
My original file has the .txt extension, which I stripped before adding to ..\files\special directory. The replacement file is attached without the extension. Files are zipped because Forum wouldn't accept the second file format.
Thanks for your interest, Erel.
 

Attachments

  • Desktop.zip
    982 bytes · Views: 26
Upvote 0

marcick

Well-Known Member
Licensed User
Longtime User
Thanks for your help. Your file was added unedited and Apple accepted the submission. Still trying to run to ground the issue with my file.
In theory you should correct my file with yours explanaion values, although I had to use a little imagination to choose .....
 
Upvote 0
Top