To be compliant with Apple's new third party SDK requirements on user data collection and usage privacy guidelines, we updated MarketingCloudSDK version to 8.1.2. The privacy manifest file PrivacyInfo.xcprivacy is present with the value NSPrivacyAccessedAPICategoryUserDefaults
.
When we run the script found here which scans the code to find usages of required reason API, it indicates the SDK uses fstat, fstatfs, stat, statfs
which are quoted in Apple documentation to be required reason API.
Result of the script:
Used symbols in binary ./MarketingCloud-SFMCSdk/Frameworks/SFMCSDK.xcframework/ios-arm64_x86_64-simulator/SFMCSDK.framework/SFMCSDK: NSUserDefaults
Used symbols in binary ./MarketingCloud-SFMCSdk/Frameworks/SFMCSDK.xcframework/ios-arm64/SFMCSDK.framework/SFMCSDK: NSUserDefaults
Used symbols in binary ./MarketingCloudSDK/MarketingCloudSDK/MarketingCloudSDK.xcframework/ios-arm64_x86_64-simulator/MarketingCloudSDK.framework/MarketingCloudSDK: fstat, fstatfs, NSUserDefaults, stat, statfs
Used symbols in binary ./MarketingCloudSDK/MarketingCloudSDK/MarketingCloudSDK.xcframework/ios-arm64/MarketingCloudSDK.framework/MarketingCloudSDK: fstat, fstatfs, NSUserDefaults, stat, statfs
Extract of Apple documentation:
The following APIs for accessing file timestamps require reasons for use. Use the string NSPrivacyAccessedAPICategoryFileTimestamp as the value for the NSPrivacyAccessedAPIType key in your NSPrivacyAccessedAPITypes dictionary.
stat
fstat(::)
fstatat(::::)
So if this script is relevant, the value NSPrivacyAccessedAPICategoryFileTimestamp
is missing in the privacy manifest.
Is it relevant ? And if so could you add the missing value to the privacy file ? Thanks.