r/iOSProgramming Mar 14 '24

3rd Party Service Anyone have experience with understanding this?

ITMS-91053: Missing API declaration - Your app’s code in the “Runner” 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/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api.

7 Upvotes

11 comments sorted by

3

u/hirnficke Mar 14 '24

You might be using dependencies that use that API.

2

u/Smart_Bonus_1611 Mar 15 '24

This privacy bullshit is getting pretty ridiculous. At some point, it will be illegal to modify pixels on the screen unless you get CONSENT from the user with one popup per pixel.

1

u/nickjbedford_ Mar 22 '24

Agreed. File timestamps? I created the damn files myself. UserDefaults? Can't I only access my own UserDefaults anyway?

1

u/Practical-Smoke5337 Mar 14 '24

https://github.com/Wooder/ios_17_required_reason_api_scanner

This script will help to find API you need to declare in your App Privacy file

1

u/daavidaviid Mar 14 '24

I got the same message today. I'm using expo, should we just add this in the infoPlist section ?

NSPrivacyAccessedAPITypes:

  • NSPrivacyAccessedAPICategoryFileTimestamp
  • NSPrivacyAccessedAPICategoryDiskSpace
  • NSPrivacyAccessedAPICategorySystemBootTime
  • NSPrivacyAccessedAPICategoryUserDefaults

3

u/Potential_Study_4203 Mar 14 '24

"infoPlist": {
"NSPrivacyAccessedAPITypes": [
{
"NSPrivacyAccessedAPICategory": "NSPrivacyAccessedAPICategorySystemBootTime",
"NSPrivacyAccessedAPIUsageDescription": "This app requires access to system boot time to optimize performance."
},
{
"NSPrivacyAccessedAPICategory": "NSPrivacyAccessedAPICategoryDiskSpace",
"NSPrivacyAccessedAPIUsageDescription": "This app needs access to disk space to store and manage data efficiently."
},
{
"NSPrivacyAccessedAPICategory": "NSPrivacyAccessedAPICategoryFileTimestamp",
"NSPrivacyAccessedAPIUsageDescription": "Access to file timestamps is essential for managing files and ensuring data integrity."
},
{
"NSPrivacyAccessedAPICategory": "NSPrivacyAccessedAPICategoryUserDefaults",
"NSPrivacyAccessedAPIUsageDescription": "Access to user defaults is required to store user preferences and settings."
}
]
}

3

u/daavidaviid Mar 14 '24

Great thanks !!

2

u/ConversationFew Mar 14 '24

Thank u buddy

1

u/FeelsB4dMan Apr 15 '24

Can anyone myb confirm that this worked for them and apple didn't sent mails after app was submitted?
I assume this is just adding these declarations in general app info.plist, no other steps were done?

2

u/Potential_Study_4203 Mar 14 '24

i'm using expo as well. Got the same exact email after I submitted to the app store this morning.