I recently got a warning when submitting an iOS app to the App Store.
I’m using Juce 7.0.7 and Xcode 15.3.
I don’t see references to these APIs in my code or dependent libraries.
Has anyone else encountered this?
The warnings/errors are:
ITMS-91053: Missing API declaration - Your app’s code in the “Massive Meter Bridge” file references one or more APIs that require reasons, including the following API categories: NSPrivacyAccessedAPICategorySystemBootTime. 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: Describing use of required reason API | Apple Developer Documentation.
ITMS-91053: Missing API declaration - Your app’s code in the “Massive Meter Bridge” 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: Describing use of required reason API | Apple Developer Documentation.
ITMS-91053: Missing API declaration - Your app’s code in the “ID700” 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: Describing use of required reason API | Apple Developer Documentation.
juce folks - we need a fix for this soon, as we won’t be able to distribute updates after may 1.
Thank you! I tried your suggestion, I followed the instructions to create the App Privacy file and selected all targets (All, AUv3, Standalone, Shared Code). Then edited the file in an external editor and pasted your XML. I got this back from Apple:
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: Privacy manifest files | Apple Developer Documentation.
This doesn’t seem to work.
I added to PLIST_TO_MERGE (like we already did for the exempt cryptography thing) and yet still get the same complaint from the app store.
Here’s what our Info.plist in the app payload looks like once it’s built but should these entries be in a different file? Everyone else is mentioning PrivacyInfo.xcprivacy.
I don’t want to be cynical, but I don’t think this will be addressed before the switch to Juce 8, I would not bet on it.
Considering the call for money Pace is doing with the new pricing and new restrictions introduced with Juce 8, this issue could be a point in their favor. They’ve given high priority to something that could attract new customers, rather than focusing on things that have been largely requested by existing customers. Juce has become a commercial product, they go where the money is. I hope I’m wrong.
You can add the required info from within Xcode. Check the link I posted, it’s really not much work. Having the Projucer do this for us would be convenient, but it could well be that this is never addressed.