Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

L'App Store rejette les applications développées avec les versions 6 et 7 d'Electron
En raison de l'utilisation de certaines API non publiques

Le , par Bill Fassinou

41PARTAGES

5  0 
Electron est un framework de développement d'applications de bureau multiplateforme utilisant des technologies Web. La version 7.0.0 du framework a été publiée en octobre dernier par ses développeurs avec de nombreuses nouvelles fonctionnalités et améliorations. Cependant, des développeurs utilisant Electron pour concevoir leurs applications se sont récemment plaints du fait que l’App Store rejetait les applications qui utilisent les dernières versions du framework en raison d’une utilisation non publique de certaines API.

Electron est un framework de développement d’applications de bureau multiplateformes avec des technologies Web. Les composants centraux d’Electron sont Chromium, Node.js et V8. L'infrastructure est codée en Node.js, et l'interface est bâtie sur la base des outils Chromium, la partie open source de Google Chrome. Ils sont généralement mis à jour en synchronisation, conformément aux normes internationales, afin de fournir les dernières fonctionnalités de JavaScript, des améliorations de performances et des correctifs de sécurité.

Electron a été mis à jour le mois passé vers la version 7.0.0. Cette nouvelle version du framework inclut les mises à niveau vers Node.js 12.8.1, Chromium 78 et V8 7.8. L'équipe a ajouté une version de Window sur ARM 64 bits, des méthodes IPC plus rapides, une nouvelle API nativeTheme, et d'autres fonctionnalités. Cependant, les utilisateurs du framework ont remarqué dernièrement qu’App Store rejette désormais les applications utilisant les deux dernières versions (les versions 6 et 7) d’Electron en raison de l'utilisation de certaines API non publiques.


En effet, en soumettant leurs applications à l’App Store, certains développeurs Electron ont rencontré un message d’erreur leur indiquant que les applications qu’ils essayaient de soumettre faisaient usage d’API non publiques : « Your app links against the following non-public framework(s) ». Quelques-unes des API non publiques signalées par Apple sont : CALayerHost, NSAccessibilityRemoteUIElement, NSNextStepFrame, NSThemeFrame, NSURLFileTypeMappings, CAContext, etc. Selon Apple, ces API sont des API non publiques.

« [...] votre application utilise ou fait référence aux API non publiques suivantes. Si vous n'avez pas accès à votre binaire ou si vous ne savez pas comment supprimer les API en question, veuillez contacter votre fournisseur de services pour obtenir une assistance technique », a répondu Apple à un développeur lorsqu’il a émis une demande d’explication. Apple a également demandé aux développeurs de s’assurer qu’ils utilisent bien les dernières versions des bibliothèques tierces avant de soumettre leurs applications.

« Si vous utilisez des bibliothèques tierces, veuillez mettre à jour vers la version la plus récente de ces bibliothèques. Si vous n'avez pas accès aux sources des bibliothèques, vous pouvez rechercher le binaire compilé à l'aide des outils de ligne de commande “strings” ou “otool”. L'outil “strings” peut éditer une liste des méthodes que la bibliothèque appelle et “otool -ov” édite les structures des classes Objective-C et leurs méthodes définies. Ces outils peuvent vous aider à préciser où se trouve le code problématique », a déclaré Apple.

Toujours dans cette note, l’entreprise a également averti que les soumissions répétées d'applications peuvent entraîner une interdiction des activités du développeur sur les différentes plateformes Apple comme la résiliation de son compte. « Continuer à utiliser ou dissimuler des API non publiques dans les futures soumissions de cette application peut entraîner la résiliation de votre compte Développeur Apple, ainsi que la suppression de toutes les applications associées de l'App Store », a averti Apple dans sa note d’explication.

Cependant, certains développeurs Electron ont signalé sur GitHub que le problème du rejet des applications n’est pas seulement lié aux deux dernières versions d’Electron, mais qu’il affecte aussi d’autres versions. Selon eux, d’autres API dans d’autres versions plus anciennes d’Electron ont également été signalées récemment comme étant non publiques par Apple. Ces derniers ont ainsi cité certaines versions des branches 4.x, 5.x. Ils estiment qu’Apple aurait procédé à quelques ajustements concernant sa stratégie de détection des API privées.

Apple n’a pas fait d’autres déclarations sur le sujet. Pour l’instant, il semblerait que plusieurs développeurs soient confrontés à ce problème de rejet de leurs applications en raison d’usage d’API signalées non publiques par Apple. Ces derniers ne peuvent donc pas passer l’audit de l’App Store.

Sources : GitHub, David.dev

Et vous ?

Qu'en pensez-vous ?
Une de vos applications a-t-elle été aussi rejetée par l'App Store pour la même raison ?

Voir aussi

Electron 7.0.0 est disponible et inclut les mises à jour vers Chromium 78, V8 7.8 et Node.js 12.8.1, ainsi que des méthodes IPC plus rapides

Sortie de la version 4.0 d'Electron, le framework pour le développement d'applications de bureau multiplateformes

Flutter va bientôt permettre d'écrire de véritables applications multiplateformes y compris pour le desktop et pourrait rivaliser avec Electron

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de monhorloge
Nouveau Candidat au Club https://www.developpez.com
Le 05/11/2019 à 9:51
Ces informations sont très utiles merci pour ce partage !
0  0