Evitez de voir ce message : « Your app, has been removed from the App Store »

Dans l’univers compétitif des applications mobiles, une mise à jour récente d’Apple menace de perturber le fonctionnement de nombreuses applications développées avec Flutter. Si vous possédez une application Flutter, une lecture attentive, de cet article, est désormais indispensable pour éviter l’exclusion imminente de l’App Store. Chez ITRoom, nous vous tenons informés des dernières actualités pour garantir la continuité de votre présence sur cette plateforme cruciale. Découvrez ce que vous devez savoir pour éviter les complications et maintenir votre application en ligne.

Compréhension de la Mise à Jour Apple :

Récemment, Apple a introduit une mise à jour significative concernant l’utilisation de leur « privacy manifest », déclenchant ainsi une série d’avertissements pour les applications mobiles Flutter lors de leur envoi. 👇

« ITMS-91053: Missing API declaration – Your app’s code in the « Runner » file references one or more APIs that require reasons, including the following API categories: NSPrivacyAccessed APICategoryUs erDefaults. While no action is required at this time, starting May 1, 2024, when you upload a new app or app update, you must include a NSPrivacyAccessedAPITypes array in your app’s privacy manifest to provide approved reasons for these APIs used by your app’s code. For more details about this policy, including a list of required for usage, visit : https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/
describing_use_of_required_reason_api. »

Cette exigence impérative impose aux développeurs d’application mobile de décrire en détail les données collectées et leur utilisation, une démarche nécessaire pour chaque donnée récupérée. À compter du 1ᵉʳ mai, les applications envoyées vers l’App Store d’Apple sans cette conformité ne seront plus acceptées.

Autrefois, cette déclaration était principalement effectuée dans la configuration de l’application côté App Store. Cependant, avec cette mise à jour, cette déclaration doit également être intégrée dans le code de l’application via un fichier dédié, le « privacy manifest« .

 

Cette exigence semble simple en théorie, mais elle devient complexe lorsqu’on considère que Flutter fonctionne avec plusieurs packages, chacun nécessitant son propre fichier « privacy manifest« . Les packages étant développés par des développeurs tiers, chacun va devoir mettre à jour les packages pour qu’ils fonctionnent correctement ensemble avec cette nouvelle méthode.

Tirées de cette source, voici les recommandations actuelles :

Pour les développeurs qui reçoivent des avertissements ITMS-91053, voici quelques étapes qui peuvent aider à résoudre le problème. (Ce qui suit est une version très préliminaire de ce qui deviendra probablement la documentation officielle dans le futur) : 

  1. Exécutez flutter pub upgrade pour vous assurer que vous avez la dernière version de tous les plugins. Étape importante, car de nombreux plugins n’ont que récemment ajouté leurs manifestes.
  2. Si le problème persiste, plusieurs étapes peuvent vous aider :
    • Tout d’abord, si vous avez écrit du code natif dans votre projet, vérifiez que votre propre code ne nécessite pas d’API concernées et déclarez-les en conséquence (comme pour toute application iOS).
    • Essayez d’ajouter cette ligne à votre fichier ios/Podfile si ce n’est pas déjà fait. La plupart des plugins seront alors empaquetés en tant que frameworks, ce qui peut résoudre une partie ou la totalité des avertissements en fonction des plugins spécifiques (ceux qui utilisent static_framework = true dans leur pubspec overrideront cette option).
      Si certains des avertissements ne proviennent plus de Runner mais d’un plugin/framework nommé, alors vous devrez contacter les développeurs de ce plugin, car cela signifierait qu’il n’a pas un manifeste de confidentialité correct.
    • Si vous avez toujours des avertissements à propos de Runner, il est fort probable que vous ayez une dépendance statique avec des API de raison nécessaires.
        1. Créez un manifeste de confidentialité pour votre application. Assurez-vous de cocher la case pour l’ajouter à votre cible Runner (si vous ne voyez pas build/ios/iphoneos/Runner.app/PrivacyInfo.xcprivacy après la reconstruction, vous avez probablement manqué cette étape).
        2. Exécutez find build/ios/iphoneos -name *.xcprivacy dans le fichier build/ios/iphoneos/Runner.app de votre projet. Pour tout ce qui est de la forme *.bundle/PrivacyInfo.xcprivacy, regardez les déclarations qu’ils font, et copiez toutes les entrées du tableau dans le fichier que vous avez créé ci-dessus.
    • Si vous avez toujours des avertissements à propos de Runner après avoir fait tout ce qui précède, vous avez sûrement un plugin qui est construit comme une dépendance statique, qui utilise les API de raison requises, et qui n’a pas créé de manifeste de confidentialité, ce qui doit être résolu par l’auteur du plugin. Nous fournirons bientôt d’autres documents sur la façon de trouver ces plugins, mais la première étape consiste à chercher dans les sources :
        1. Ouvrez ios/Runner/Runner.xcworkspace
        2. Ouvrez le panneau Find > Find in Workspace…
        3. Recherchez chaque API répertoriée dans le(s) groupe(s) d’API marqué(s).
        4. Recherchez toutes les correspondances qui se trouvent dans la source d’un plugin qui :
            • n’a pas de <nom_du_plugin>.framwork dans build/ios/iphoneos/Runner.app/Frameworks (indiquant qu’il est construit statiquement), et
            • n’a pas de […].bundle/PrivacyInfo.xcprivacy dans l’étape précédente où le nom du bundle commençait par le nom du plugin.
        5. Si vous en trouvez, contactez les auteurs de ces plugins pour obtenir de l’aide.

Expertise et Solution :

Chez ITRoom, nous maîtrisons Flutter et ses exigences évolutives. Notre équipe est prête à relever le défi de la mise à jour de vos applications, garantissant ainsi leur conformité totale avec les normes actuelles. Grâce à notre expertise et notre engagement envers l’excellence, nous vous assurons une transition fluide vers les dernières versions de Flutter, sans perturbations ni délais inutiles.

Que vous ayez besoin d’une mise à jour de votre application existante ou que vous envisagiez de développer une nouvelle application, notre équipe expérimentée est prête à répondre à vos besoins. Avec ITRoom comme partenaire de confiance, vous pouvez être assuré que vos projets Flutter seront entre de bonnes mains, bénéficiant de notre expertise approfondie et de notre engagement inébranlable envers la réussite de votre entreprise.

 

PrestaShop

Prestashop

Platinium partner

Shoppingfeed

Partner

Google

Premier Partner

Google Suite

Partner

Office 365

Partner

Recherche