Skip to content

[Question]: device_info_plus — Privacy Manifest declarations for iOS disk space APIs #3974

Description

@MenEnger

What is your question?

Could you help clarify whether the iOS disk-space retrieval in device_info_plus 13.2.0 requires a required-reason API declaration in its Privacy Manifest? If there is existing guidance about this implementation, I would appreciate a pointer.

What I checked

In the package published on pub.dev:

  • FPPDeviceInfoPlusPlugin.m calls attributesOfFileSystemForPath:error: inside getDeviceInfo, then reads free and total disk space from the returned dictionary using the NSFileSystemFreeSize and NSFileSystemSize keys.
  • The bundled PrivacyInfo.xcprivacy has an empty NSPrivacyAccessedAPITypes array.

I also inspected an unsigned iOS Release build. The resulting device_info_plus framework contains references to the disk-space API, and its bundled manifest still has an empty NSPrivacyAccessedAPITypes array.

For context, my app obtains OS information through the Aptabase Flutter SDK. Aptabase does not include the disk-space values in its outgoing payload, but they are retrieved by the native plugin along with the OS information.

Apple's required-reason API list lists systemFreeSize and systemSize under disk space. This implementation reads the values from the dictionary returned by attributesOfFileSystemForPath:error: instead. Am I understanding correctly that this retrieval method also needs a reason declaration? Is there a rationale or guidance for leaving the array empty in this case?

I have not submitted this configuration to the App Store. This question is based on source inspection and an unsigned Release build; I am not reporting an Apple warning or an App Review rejection.

I found #2751, but that discussion predates the disk-space retrieval added in #3536, so I thought this might be a separate question. Please let me know if I have overlooked an existing explanation or issue.

Environment

  • device_info_plus: 13.2.0
  • Flutter: 3.44.0
  • Xcode: 26.6
  • iOS Release build, unsigned

Checklist before submitting a question

  • I searched issues in this repository and couldn't find such bug/problem
  • I searched the web for an explanation of this specific issue and could not find one
  • I searched Stack Overflow via a site-restricted web search and could not find an explanation of this specific issue
  • I read the README.md file of the plugin
  • I am using the latest version of the plugin
  • All dependencies are up to date with flutter pub upgrade
  • I did a flutter clean
  • I tried running the example project

The unchecked items have not been performed. This is a question about the published native source and bundled manifest, rather than a runtime or build failure; I have left those items unchecked rather than claiming they were completed.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions