50ButtonsEach/flic2lib-ios

Apple Privacy Manifest needed for NSPrivacyAccessedAPICategoryFileTimestamp, NSPrivacyAccessedAPICategorySystemBootTime

Closed this issue · 3 comments

Hi folks.

Apps submitted to the app store built with this lib are currently generating warnings such as the following:

ITMS-91053: Missing API declaration - Your app’s code references one or more APIs that require reasons, including the following API categories: NSPrivacyAccessedAPICategoryFileTimestamp. While no action is required at this time, starting May 1, 2024, when you upload a new app or app update, you must include a NSPrivacyAccessedAPITypes array in your app’s privacy manifest to provide approved reasons for these APIs used by your app’s code. For more details about this policy, including a list of required reason APIs and approved reasons for usage, visit: https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api.

Using this tool, it looks like the binary lib is accessing these methods:
NSFileModificationDate, NSFileSystemFreeSize, NSFileSystemSize

To resolve, we need to add a privacy manifest file that lists one of the approved reasons for both:
NSPrivacyAccessedAPICategoryFileTimestamp, NSPrivacyAccessedAPICategorySystemBootTime

I'm happy to create a PR, if someone could confirm which of the supplied reason codes we should use for the above.

Hi!

We just pre-published a new version where we have removed the dependency on these APIs so this should not be needed anymore!

Would be great if you could confirm that you don't get this warning when using this branch:
https://github.com/50ButtonsEach/flic2lib-ios/tree/1.4.0

As soon as we get confirmation, this will be merged into master.

Great! Thank you.

Using the same tool on the 1.4.0 branch outputs the following, confirming that those symbols are no longer being used in the flic binaries

Used symbols in binary ./flic2lib.xcframework/ios-arm64_x86_64-simulator/flic2lib.framework/flic2lib: 
Used symbols in binary ./flic2lib.xcframework/ios-arm64_x86_64-maccatalyst/flic2lib.framework/flic2lib: 
Used symbols in binary ./flic2lib.xcframework/ios-arm64/flic2lib.framework/flic2lib:

I'll need to remove those symbols from our own app privacy manifest when we do our next app submission - which will be a few weeks away yet. Based on the above I wouldn't expect any problems, so I'd say go ahead and merge when you're ready.

Awesome, thanks! Will merge as soon as we have gone through internal review!