这是indexloc提供的服务,不要输入任何密码
Skip to content

[Request]: The missing PrivacyManifest support #3627

@tkou15

Description

@tkou15

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions