Aller au contenu
Narvy

ITMS-91061 : un SDK tiers listé par Apple n'a pas de manifeste de confidentialité

Votre IPA embarque un framework qui figure sur la liste Apple des SDK tiers courants, et ce framework n'a pas de PrivacyInfo.xcprivacy. Passez à une version du SDK qui embarque son propre manifeste de confidentialité. En ajouter un à votre application ne corrige pas le problème.

E-mail App Store ConnectITMS-91061
ITMS-91061: Missing privacy manifest - Your app includes "<path/to/SDK>", which includes <SDK>, an SDK that was identified in the documentation as a privacy-impacting third-party SDK. Starting February 12, 2025, if a new app includes a privacy-impacting SDK, or an app update adds a new privacy-impacting 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.

Ce que cela signifie

You must include the privacy manifest for any SDK listed below when you submit new apps in App Store Connect that include those SDKs, or when you submit an app update that adds one of the listed SDKs as part of the update.

Apple, Third-party SDK requirements

Selon Apple, le manifeste de confidentialité de chaque SDK listé est exigé lors de l'envoi d'une nouvelle application qui l'inclut, ou d'une mise à jour qui l'ajoute. La liste d'Apple compte 87 entrées, dont des bibliothèques réseau, d'images, Firebase, de connexion Facebook et Google, et de nombreux plugins Flutter (path_provider, shared_preferences_ios, url_launcher et d'autres). Apple exige aussi une signature quand un tel SDK est une dépendance binaire ; ce point ne peut pas être vérifié depuis une IPA, car les frameworks embarqués sont re-signés avec l'identité de l'application.

Échéance

La page d'Apple ne donne pas de date distincte : la règle s'applique aux nouvelles applications et aux mises à jour qui ajoutent un SDK listé. La date figurant dans l'e-mail ci-dessus est la formulation d'Apple.

Corriger

1. Trouver le framework

L'e-mail indique le chemin dans l'application. Le contrôle liste chaque framework embarqué de la liste d'Apple et indique s'il contient un manifeste de confidentialité.

2. Mettre à jour le SDK

terminal
# CocoaPods
pod update Alamofire

# Swift Package Manager : File > Packages > Update to Latest Package Versions

# Flutter
flutter pub upgrade --major-versions

Recompilez ensuite et vérifiez que Frameworks/<Nom>.framework/PrivacyInfo.xcprivacy (ou un bundle de ressources qu'il contient) existe dans la nouvelle IPA.

Vérifier avant de soumettre

Déposez l'IPA sur la page de contrôle des stores. Elle exécute APPSTORE-THIRD-PARTY-SDK avec les dates de cette page, puis supprime le fichier : rien de l'application n'est conservé. Le même moteur tourne hors ligne dans la CLI Narvy et renvoie le code 1 quand un point bloquant est trouvé, ce qui permet de bloquer un job de CI.

Limite : ce contrôle ne voit que les frameworks embarqués. Un SDK lié statiquement dans l'exécutable n'est pas détecté par son nom.

Hors ligne, depuis un terminal (narvy-cli 1.2.0 ou plus)
narvy store-check MyApp.ipa --lang fr

Contrôler un build dans le navigateur

Questions fréquentes

Mon application utilise ce SDK depuis des années. Suis-je concerné ?

La page d'Apple applique la règle aux nouvelles applications et aux mises à jour qui ajoutent un SDK listé. Une mise à jour qui conserve un SDK déjà livré n'entre pas dans cette formulation, mais le mettre à jour règle la question.

Puis-je ajouter moi-même le manifeste du SDK ?

Le manifeste doit se trouver dans le bundle du SDK et décrire l'usage des données du SDK lui-même, que seul son fournisseur connaît. Mettez-le plutôt à jour.