@@ -328,7 +328,12 @@ App Store Compliance
328328The only mechanism for distributing apps to third-party iOS devices is to
329329submit the app to the iOS App Store; apps submitted for distribution must pass
330330Apple's app review process. This process includes a set of automated validation
331- rules that inspect the submitted application bundle for problematic code.
331+ rules that inspect the submitted application bundle for problematic code. There
332+ are some steps that must be taken to ensure that your app will be able to pass
333+ these validation steps.
334+
335+ Incompatible code in the standard library
336+ -----------------------------------------
332337
333338The Python standard library contains some code that is known to violate these
334339automated rules. While these violations appear to be false positives, Apple's
@@ -339,3 +344,18 @@ The Python source tree contains
339344:source: `a patch file <Mac/Resources/app-store-compliance.patch> ` that will remove
340345all code that is known to cause issues with the App Store review process. This
341346patch is applied automatically when building for iOS.
347+
348+ Privacy manifests
349+ -----------------
350+
351+ In April 2025, Apple introduced a requirement for `certain third-party
352+ libraries to provide a Privacy Manifest
353+ <https://developer.apple.com/support/third-party-SDK-requirements> `__.
354+ As a result, if you have a binary module that uses one of the affected
355+ libraries, you must provide an ``.xcprivacy `` file for that library.
356+ OpenSSL is one library affected by this requirement, but there are others.
357+
358+ If you produce a binary module named ``mymodule.so ``, and use you the Xcode
359+ build script described in step 7 above, you can place a ``mymodule.xcprivacy ``
360+ file next to ``mymodule.so ``, and the privacy manifest will be installed into
361+ the required location when the binary module is converted into a framework.
0 commit comments