-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Description
Plugin
package_info_plus
Use case
Hi package_info_plus team,
First, thank you for maintaining this incredibly useful package.
I am writing to report a potential issue regarding the privacy manifest (PrivacyInfo.xcprivacy) that may require your attention to ensure compliance with Apple's App Store policies.
Issue Description
While using a scanner tool (omarzl/ios_17_required_reason_api_scanner) and manually inspecting the framework binary, I found that package_info_plus seems to use an API that requires a "Required Reason" declaration.
Specifically, the symbol _NSFileCreationDate was found, which is part of the File Timestamp API category (NSPrivacyAccessedAPICategoryFileTimestamp). However, the package's current PrivacyInfo.xcprivacy does not include a declaration for this API category.
Without this declaration, apps using this package may face warnings or rejections during the App Store review process.
Steps to Reproduce
Build a Flutter app that includes package_info_plus for an iOS target.
Locate the built framework at build/ios/Debug-iphoneos/package_info_plus/package_info_plus.framework/package_info_plus.
Run the nm command to inspect the symbols used by the binary:
nm -u path/to/package_info_plus | grep '_NSFileCreationDate'
The output confirms that the _NSFileCreationDate symbol is being used.
Proposal
I would like to request that you update the PrivacyInfo.xcprivacy file to include the necessary declaration for the File Timestamp API. Based on Apple's documentation, the following entry should be added to the NSPrivacyAccessedAPITypes array:
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryFileTimestamp</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<!-- Reason C617.1: To display file timestamp information to the user. -->
<string>C617.1</string>
</array>
</dict>
I've suggested reason code C617.1 as it seems the most likely fit for this package's functionality (displaying app information). Please confirm if this is the appropriate reason.
Thank you for your time and consideration on this matter.