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
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.
What is your question?
Could you help clarify whether the iOS disk-space retrieval in
device_info_plus 13.2.0requires 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.mcallsattributesOfFileSystemForPath:error:insidegetDeviceInfo, then reads free and total disk space from the returned dictionary using theNSFileSystemFreeSizeandNSFileSystemSizekeys.PrivacyInfo.xcprivacyhas an emptyNSPrivacyAccessedAPITypesarray.I also inspected an unsigned iOS Release build. The resulting
device_info_plusframework contains references to the disk-space API, and its bundled manifest still has an emptyNSPrivacyAccessedAPITypesarray.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
systemFreeSizeandsystemSizeunder disk space. This implementation reads the values from the dictionary returned byattributesOfFileSystemForPath: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
Checklist before submitting a question
flutter pub upgradeflutter cleanThe 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.