Hi Mobile App,
Considering the recent policy updates from Apple app store regarding the use of required reason for APIs used in our iOS app. Warning from Apple: We have received warnings from Apple regarding missing API declarations in their recent app submissions. These warnings highlight the necessity for us to adhere to Apple’s guidelines regarding privacy manifest files.
Action Required:
Starting May 1, 2024, all new app submissions or updates must include a NSPrivacyAccessedAPITypes array in the app’s privacy manifest, detailing approved reasons for the usage of certain APIs. This is crucial for ensuring compliance with Apple’s policies and maintaining user trust.
Solution: Here is the solution to streamline the process of configuring the app’s privacy manifest for iOS submissions. Cordova iOS 7.1.0 introduces enhanced support for privacy manifest files. Here’s what we need to do.
Privacy Manifest Template: Cordova now provides a blank privacy manifest file, PrivacyInfo.xcprivacy, which can be configured directly from your config.xml. Configuration Support: we can now define privacy manifest configurations within our config.xml file, streamlining the process of incorporating privacy details into app submissions.
Configuration (sample) :
<platform name="ios">....
<privacy-manifest>
<key>NSPrivacyAccessedAPITypes</key>
<array>
<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>
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryFileTimestamp</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>C617.1</string>
</array>
</dict>
</array>
</privacy-manifest>
</platform>
Ensure that we update our *config.xml*
file with the necessary privacy manifest configurations, reflecting the specific APIs used in our app. Refer to Apple’s Developer Documentation for detailed guidance on these parameters.
References: