As many people, just lately, after submitting the construct for TestFlight I’ve bought the e-mail which states:
ITMS-91053: Lacking API declaration – Your app’s code within the
“MyAppBinaryName” file references a number of APIs that require
causes, together with the next API classes:
NSPrivacyAccessedAPICategorySystemBootTime. Whereas no motion is
required presently, beginning Might 1, 2024, if you add a brand new app
or app replace, you should embrace a NSPrivacyAccessedAPITypes array in
your app’s privateness manifest to offer permitted causes for these APIs
utilized by your app’s code. For extra particulars about this coverage, together with
a listing of required purpose APIs and permitted causes for utilization, go to:
https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api.
My discover referenced following classes:
* NSPrivacyAccessedAPICategoryUserDefaults
* NSPrivacyAccessedAPICategoryDiskSpace
* NSPrivacyAccessedAPICategorySystemBootTime
* NSPrivacyAccessedAPICategoryFileTimestamp
I’ve learn Apple docs on the subject and perceive that the strategy right here is so as to add privateness manifest file with respective APIs declarations. That is clear. I’ve carried out so for “NSPrivacyAccessedAPICategoryUserDefaults” and it was now not talked about within the Apple’s data. That was effective and clear.
Nonetheless, my code would not immediately use any APIs which had been talked about in https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api which leads me to the questions:
- Ought to the apps privateness manifest declare (or re-declare) APIs utilized by dependencies? It would not appear cheap since SDKs has their very own manifests…
- Because the redeclaring causes from third occasion SDKs would not appear proper to me – how can I discover out which APIs in my app code are problematic? Are there any instruments obtainable that may do the identical validation on my native dev machine?