I have issue releasing a react-native project in appStore after I submit the app. I get rejection from Apple
rejection msg:
ITMS-91064: Invalid tracking information - A PrivacyInfo.xcprivacy file contains invalid tracking information at the following path: “Frameworks/SASDisplayKit.framework/PrivacyInfo.xcprivacy”.
NSPrivacyTracking must be true if NSPrivacyTrackingDomains isn‘t empty. Keys and values in your app’s privacy manifest must be valid. For more details about privacy manifest files
I added this snippet from react-native to my project in the PrivacyInfo.xcprivacy
<?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>NSPrivacyTrackingDomains</key>
<array/>
<key>NSPrivacyCollectedDataTypes</key>
<array/>
<key>NSPrivacyAccessedAPITypes</key>
<array>
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryFileTimestamp</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>C617.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>NSPrivacyAccessedAPICategorySystemBootTime</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>35F9.1</string>
</array>
</dict>
</array>
<key>NSPrivacyTracking</key>
<true/>
</dict>
</plist>
Note: I also update react-native-firebase/analytics to the latest version 19.2.2, because according to the issue in GitHub I need to update to the latest version, however that didn't fix it
this how the PrivacyInfo.xcprivacy looks from Xcode
any clue how to fix this issue?
As Apple wrote:
A PrivacyInfo.xcprivacy file contains invalid tracking information at the following path: “Frameworks/SASDisplayKit.framework/PrivacyInfo.xcprivacy”.
NSPrivacyTracking must be true if NSPrivacyTrackingDomains isn‘t empty.
you should identify the location of the file:
Frameworks/SASDisplayKit.framework/PrivacyInfo.xcprivacy
and make sure it has the key-value:
<key>NSPrivacyTracking</key>
<true/>
For example,
open Terminal application of Mac.
go to the root directory of your app's project:
% cd ...
list all the PrivacyInfo.xcprivacy
files of your app:
% find . -name PrivacyInfo.xcprivacy
identify the PrivacyInfo.xcprivacy
of SASDisplayKit
open it and make sure the key-value:
% open ...
In Release notes of Smart-Display-SDK:
Version 7.23.4
April 30th, 2024
iOS 13.0+
- [Fixed] Display SDK privacy manifest, this will prevent your app from being rejected by Apple validation process.
Since this is SASDisplayKit
according to its Podspec:
"vendored_frameworks": "SASDisplayKit.xcframework"
you can avoid rejection with this latest version.