heap / react-native-heap

A React Native integration for Heap
MIT License
82 stars 36 forks source link

May 1st Apple Requirements: Describing use of required reason API #422

Closed Maker-Mark closed 6 months ago

Maker-Mark commented 7 months ago

Any apps that use 3rd party libraries that have missing Privacy Declarations will be rejected starting May 1st. It's not abundantly clear what packages have missing privacy declarations, but I don't see this repo having the required file in ios/PrivacyInfo.xcprivacy, so I'm betting this package is causing an issue.

@bnickel Are you or someone on your team aware of this and can take a look? These are the docs on how to classify the permissions https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api?language=objc and here's a PR example of other packages doing it https://github.com/react-native-async-storage/async-storage/pull/1075/files#diff-39f67059a27eeb4c017a481cf9e677e5818cb6e2c79dbbaea19f90daf942080d https://github.com/getsentry/sentry-react-native/issues/3708

MCeley commented 6 months ago

The Classic iOS and Classic React Native SDK use two restricted APIs that may require a declaration in the privacy manifest. You can add these to your privacy manifest as described here: https://developers.heap.io/docs/ios-legacy#updating-your-privacy-manifest

Maker-Mark commented 6 months ago

@MCeley Thanks for getting these docs linked and out! A few questions/notes: Generally, the 3rd party library should define these, not the consuming project, no? I've heard that apple/react native is not aggregating 3rd party libraries' manifest as it should https://github.com/facebook/react-native/pull/44214, so this is a good idea for now, though it may make sense to mention the following:

All that's to say, the project should still probably have these declared directly, in the react native package (this repo) or the underlying heap classic dependency