Description
Describe the bug
We've had a report that the iOS App Store is rejecting apps with the following error:
ITMS-91061: Missing privacy manifest - Your app includes “Frameworks/_hashlib.framework/_hashlib.cpython-39-iphoneos.dylib”, which includes BoringSSL / openssl_grpc, an SDK that was identified in the documentation as a commonly used third-party SDK. If a new app includes a commonly used third-party SDK, or an app update adds a new commonly used third-party SDK, the SDK must include a privacy manifest file. Please contact the provider of the SDK that includes this file to get an updated SDK version with a privacy manifest. For more details about this policy, including a list of SDKs that are required to include signatures and manifests, visit: https://developer.apple.com/support/third-party-SDK-requirements.
ITMS-91061: Missing privacy manifest - Your app includes “Frameworks/_ssl.framework/_ssl.cpython-39-iphoneos.dylib”, which includes BoringSSL / openssl_grpc, an SDK that was identified in the documentation as a commonly used third-party SDK. If a new app includes a commonly used third-party SDK, or an app update adds a new commonly used third-party SDK, the SDK must include a privacy manifest file. Please contact the provider of the SDK that includes this file to get an updated SDK version with a privacy manifest. For more details about this policy, including a list of SDKs that are required to include signatures and manifests, visit: https://developer.apple.com/support/third-party-SDK-requirements.
Steps to reproduce
- Submit a new app (or app update) that uses the Apple Support Package to the iOS App Store.
Expected behavior
App should be accepted.
Screenshots
No response
Environment
- Operating System: iOS (but probably macOS as well)
- Python version: 3.9+
Logs
Additional context
- Add an Apple privacy info file for OpenSSL openssl/openssl#24260 adds a candidate PrivacyInfo file for macOS builds
- OpenSSL iOS Privacy Manifest openssl/openssl#23262 is a discussion about the requirement for iOS
- iOS: Support Apple Privacy Manifest openssl/openssl#23494 is a report on OpenSSL's repo about this issue on iOS
The candidate PrivacyInfo file from the macOS PR might be all that is needed here. We might need to incorporate PrivacyInfo handling into the framework build script, and include the PrivacyInfo file next to the .so files that are being processed.