DataDog / dd-sdk-flutter

Flutter bindings and tools for utilizing Datadog Mobile SDKs
Apache License 2.0
43 stars 42 forks source link

Apple Privacy manifest files - ITMS-91053: Missing API declaration #587

Closed andcea closed 4 months ago

andcea commented 6 months ago

Describe the bug

I received an email from App Store Connect after my latest release

ITMS-91053: Missing API declaration - Your app’s code in the “Runner” file 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.

It's got warnings for:

I don't actually know if all of these are caused by datadog_flutter_plugin, but according to https://github.com/DataDog/dd-sdk-ios/issues/1749 at least one of those is.

There's a flutter issue opened about this: https://github.com/flutter/flutter/issues/143232

Reproduction steps

Add the datadog_flutter_plugin package, release to App Store

SDK logs

No response

Expected behavior

No response

Affected SDK versions

datadog_flutter_plugin 2.4.0, flutter 3.19.5

Latest working SDK version

No response

Did you confirm if the latest SDK version fixes the bug?

Yes

Flutter Version

No response

Setup Type

No response

Device Information

No response

Other relevant information

No response

fuzzybinary commented 6 months ago

Hi @andcea,

Yes, the root cause of this is Datadog/dd-sdk-ios#1749 and we actively looking for a fix. I will keep you posted. As mentioned in that ticket, you can add the symbol to your own privacy manifest and it will silence the warning.

That said, Flutter SDK 2.4.0 uses the iOS SDK 2.8.1, which should include NSPrivacyAccessedAPICategoryUserDefaults. See here: https://github.com/DataDog/dd-sdk-ios/blob/develop/DatadogCore/Resources/PrivacyInfo.xcprivacy#L24

dballance commented 5 months ago

Do we have a rough estimated date for a 2.5.x bump in datadog_flutter_plugin to bump the iOS SDK to 2.10.0?

See: https://github.com/DataDog/dd-sdk-ios/issues/1749#issuecomment-2072324286

fuzzybinary commented 5 months ago

Not yet, we're getting reports that the fixes to our privacy manifest might not have fixed all issues, so I'll likely delay until 2.11 if that's the case. However, if not I'll try to get 2.10 out early next week.

fuzzybinary commented 5 months ago

Hi folks,

We were looking to get out 2.5.x with a bump to iOS 2.10 early this week but we've hit a snag, so the update will be slightly delayed.

I know it's not ideal, but you can add the exceptions to your app's privacy manifest as a workaround until we can get 2.5.0 out.

Sorry for the inconvenience!

dballance commented 4 months ago

Apple seems to have laid off the emails for now - not sure if they have given up or are just delaying. Appreciate the work to get it fixed for whenever they decide to turn it back on.

fuzzybinary commented 4 months ago

Hi folks,

The datadog_flutter_plugin 2.5.0 which integrates iOS 2.11.0, and should fix the privacy manifest issue as well as get rid of the false positives.

Please re-open if you continue to see any issues!