Files
react-native/packages
aleqsio 4be1fafec8 Implement privacy manifest aggregation (#44214)
Summary:
As of now, Apple does not respect privacy manifests added as cocoapods resource bundles. This forces react-native developers to manually copy `.xcprivacy` files content for each native dependency that accesses restricted reason APIs to the root file.

This PR adds an aggregation step that crawls through pod dependencies to collect all reasons into the root privacy info file.

[IOS][ADDED] – Add privacy manifest aggregation.

Pull Request resolved: https://github.com/facebook/react-native/pull/44214

Test Plan:
When run on RNTester, it appends aggregated entries (while keeping existing ones) to existing .xcprivacy file without modifing .pbxproj:
![image](https://github.com/facebook/react-native/assets/5597580/1d07a07d-bbec-4266-a599-a8d629078971)

When run on RNTester with the xcprivacy file removed from xcode beforehand, it creates a new .xcprivacy file, and adds it to Compile Bundle Resources in the same way as in the new template:
![image](https://github.com/facebook/react-native/assets/5597580/f80a3b4e-e41a-4906-8e2f-06cca0bc225a)

When run on RNTester with an empty .xcprivacy file, it appends aggregated entries from pods AND reasons for react-native core.

When run with `privacy_file_aggregation_enabled: false` in `use_react_native`, it falls back to existing behavior:
![image](https://github.com/facebook/react-native/assets/5597580/4519bba1-c80e-4cd0-b19c-bbbebfa8493b)

Reviewed By: cipolleschi

Differential Revision: D56481045

Pulled By: philIip

fbshipit-source-id: 1841bad821511c734d0cc0fcff5065ed92af76d8
2024-05-02 10:18:43 +01:00
..
2024-05-01 12:34:20 +00:00
2024-05-01 12:34:20 +00:00
2024-05-01 12:34:20 +00:00
2024-05-01 12:34:20 +00:00
2024-05-01 12:34:20 +00:00
2024-05-01 12:34:20 +00:00
2024-05-01 12:34:20 +00:00
2024-05-01 12:34:20 +00:00
2024-05-01 12:34:20 +00:00
2024-05-01 12:34:20 +00:00
2024-05-01 12:34:20 +00:00
2024-05-01 12:34:20 +00:00
2024-05-01 12:34:20 +00:00