Ouvrir le menu principal

MacGeneration

Recherche

Des applications qui intègrent Python rejetées sur l'App Store à cause d'une vérification trop stricte et trop opaque

Pierre Dandumont

lundi 22 juillet 2024 à 16:45 • 12

Logiciels

Ces dernières semaines, des développeurs ont eu un problème bizarre : des applications ont été rejetées par la validation de l'App Store (iOS ou macOS). La raison peut sembler un peu étonnante : une modification dans le code source de Python a ajouté une fonction qui semble problématique pour la validation d'Apple.

Le logo de Python

Le problème de cette version 3.12, qui peut être intégrée directement dans les applications, est qu'elle contient une fonction pour gérer les URL de type itms-services://. Pour résumer, ce type d'adresse permet d'installer une application depuis l'App Store et Apple interdit explicitement ce type d'action dans une application distribuée sur un de ses App Store.

Le problème, dans le cas présent, est double. Premièrement, intégrer une bibliothèque qui va prendre en charge les adresses de ce type n'implique pas que l'application va le faire. Deuxièmement, et c'est ce qui est reproché à Apple, la validation automatique — en cause ici — est trop stricte. Russell Keith-Magee, un des développeurs de CPython (une implémentation courante du langage) explique bien le souci : la validation d'Apple n'est pas documentée, tout en étant extrêmement stricte.

La solution choisie n'est par ailleurs qu'un pis-aller : un paramètre à ajouter au moment de la configuration (--with-app-store-patch) pour supprimer la fonction incriminée. Elle est activée par défaut sous iOS et est optionnelle avec les autres systèmes, mais est recommandée sous macOS si vous comptez distribuer une application sur le Mac App Store.

Ce bug (qui n'en est pas vraiment un) montre encore une fois que si la sécurité d'Apple est globalement bonne — ce qui n'empêche pas par ailleurs la distribution d'applications malicieuses dans les faits —, elle est surtout opaque et peu compatible avec l'open source dans la pratique, dans le sens où les développeurs n'ont pas nécessairement le temps ou l'envie d'essayer de comprendre les limitations arbitraires d'Apple. Et comme Joe Brockmeier l'indique, ce n'est probablement pas la dernière fois que le problème se pose.

Rejoignez le Club iGen

Soutenez le travail d'une rédaction indépendante.

Rejoignez la plus grande communauté Apple francophone !

S'abonner

Vos fichiers à l’abri pour toujours : l’offre pCloud qui tombe à pic 📍

10:30

• 0


Sortie de veille : après le départ du n°2 d’Apple, Tim Cook est-il le prochain sur la liste ?

08:00

• 22


Notre top 5 des accessoires à avoir pendant les vacances (et en promo) !

11/07/2025 à 23:52

• 26


Dernières heures du Prime Day - les offres à ne pas rater : AirPods, serrures HomeKit, Microsoft 365… 🆕

11/07/2025 à 23:40

• 28


Prime Day : les promos Apple (et high-tech) les plus populaires

11/07/2025 à 23:30

• 5


Prime Day : nouveaux prix record sur les MacBook Air et Mac mini M4

11/07/2025 à 20:51

• 5


La Chine s'attaque aux batteries externes de mauvaise qualité, ce qui cause des remous chez les fabricants

11/07/2025 à 20:48

• 27


L’abonnement Google AI Ultra disponible en France pour 274,99 € par mois

11/07/2025 à 20:30

• 12


Le Mac Pro 2013 devient Vintage, ainsi que d’autres produits Apple

11/07/2025 à 20:00

• 11


Aura Aspen : un nouveau cadre photo numérique qui ressemble plus à un cadre traditionnel

11/07/2025 à 18:00

• 8


Le Royaume-Uni et la France investissent dans Eutelsat pour contrer Starlink

11/07/2025 à 17:35

• 87


Prime Day : les meilleurs écrans 4K, portables et ultralarges

11/07/2025 à 15:02

• 0


Prime Day : les derniers bons plans pour équiper sa maison en domotique

11/07/2025 à 15:01

• 14


Test du SSD externe Crucial X10, qui peut atteindre 8 To

11/07/2025 à 13:00

• 0


Prime Day : les meilleurs SSD externes en promotion, de 1 à 8 To !

11/07/2025 à 11:14

• 11


Prime Day : des docks pour les Mac mini, pour ajouter des SSD, des ports USB ou un lecteur de cartes

11/07/2025 à 11:00

• 7