Le Mac App Store bloque les apps Electron pour cause d’API privées
Plusieurs développeurs signalent que le Mac App Store a refusé leur nouvelle app ou une mise à jour suite à l’utilisation d’API privées. C’est en effet une règle de base de la boutique d’apps d’Apple, seules les API publiques et documentées par la firme peuvent servir. Les développeurs qui utilisent des API privées sont automatiquement bloquées par le processus de validation mis en place par l’entreprise.
Le seul hic dans l’affaire, c’est que ces développeurs en question n’utilisent pas sciemment ces API privées. Ils exploitent tous Electron, le framework multiplateforme créé par GitHub qui permet de créer des apps pour macOS, Windows et Linux en utilisant des technologies issues du web. Même si Apple n’a jamais incité les développeurs à l’utiliser, ce framework a jusque-là été parfaitement accepté sur le Mac App Store, comme en témoigne notamment la présence de la messagerie instantanée Slack.

S’agit-il d’une nouvelle politique d’Apple contre Electron ? Maintenant que le projet Catalyst favorise la création d’apps macOS depuis iOS avec macOS Catalina, la théorie ne serait pas totalement absurde. Mais le plus réaliste est sans doute qu’Apple a renforcé ses mesures de vérification et que les apps Electron passaient jusque-là, mais sont désormais bloquées par le processus de validation automatisé.
Le problème concerne toutes les versions actuelles d’Electron et il n’y a pas encore de solutions. Cela dit, les créateurs du framework vont certainement s’atteler au problème et supprimer les API privées concernées. En attendant, vous pouvez toujours essayer d’argumenter, mais Apple est inflexible sur cette règle. Et attention, les règles sont très claires : si vous essayez trop souvent d’utiliser des APIs privées, Apple peut supprimer votre compte développeur et toutes vos apps. Mieux vaut patienter pour une réponse officielle de la part des concepteurs d’Electron…
Le rapport c'est que certains considèrent que vivre sous la dictature d'une multinationale serait préférable que de devoir vivre avec les inconvénients de la démocratie.
On est pas loin du Meilleur des Mondes, dans certains commentaires.
@byte_order
"On est pas loin du Meilleur des Mondes, dans certains commentaires."
Autant je peux comprendre qu’on puisse accepter un contrôle plus ou moins bienveillant visant, parait-il, à garantir un certain niveau de qualité et de sécurité...
Autant j’ai un peu plus de mal à comprendre qu’on défende ces positions bec et ongles sans travailler pour Apple, considérant certaines compromissions ou actions d’actualité récente, fort douteuses... tant qu’on est pas une victime directe de ces actions, tout va bien ?
Tout n’est pas mauvais dans la pomme, mais il y a quand-même un gros trognon. Certains aiment affirmer le contraire, c’est étrange.
1 an en corée du nord devrait probblement calmer leurs ardeurs et envie de vivre dans un monde où ils n'ont aucune liberté. :)
@vince29
> Apple va pouvoir mettre en difficulté les autres navigateurs et
> pousser ses propres technos (safari et catalyst).
Cela va être rigolo de voir tous les défenseurs de longue date d'Apple qui soutenaient, à raison, que c'était scandaleux que Microsoft utilise des API privées dans ses propres logiciels tout en s'en servant pour entraver la concurrence, mais qui maintenant vont devoir choisir entre l'intégrité ou défendre le même comportement mais cette fois-ci du Big Brother qu'est devenue Apple (non sans ironie).
@byte_order
Il n’y a pas de Chrome ni de Firefox dans le mac app store.
@reborn
"Il n’y a pas de Chrome ni de Firefox dans le mac app store."
Comme c’est étrange.
@fte
Étrange ? 🤔
Plutôt normal, si tu n’accepte pas les limitations d’Apple tu distribue ton application en dehors du store. Comme avant le mac app store quoi..
Rien de surprenant/grave/exceptionnel
@reborn
"Étrange ? 🤔"
C’était ironique.
Quand les API privées seront exclues de la notarisation, on va bien se marrer.
@fte
Quand les API privées seront exclues de la notarisation, on va bien se marrer.
Ah c’est prévu ? 🤔
Encore une prédiction basé sur du vent.
Encore une fois la notarization n’a rien n’a voir avec la validation d’une app mac app store.
Une app peut être notarizée alors qu’elle n’a même pas été conçu avec des technos Apple et est distribué hors du store.
@reborn
"Ah c’est prévu ? 🤔
Encore une prédiction basé sur du vent."
On verra. J’espère que c’est du vent. Disons qu’il souffle dans une direction plutôt qu’une autre.
"Encore une fois la notarization n’a rien n’a voir avec la validation d’une app mac app store."
Techniquement, certes. Encore que. "Philosophiquement", c’est déjà plus proche. Le futur nous dira s’il y a convergence ou non.
"Une app peut être notarizée alors qu’elle n’a même pas été conçu avec des technos Apple et est distribué hors du store."
Je sais. Et ?
Qu’est-ce qui empêcherait Apple d’interdire à ce stade l’usage d’API privées par exemple ? Ou un autre moteur JavaScript que le sien ?
La bienveillance de Sa Majesté La Reine ? God save the Queen. Elle est immortelle à ce qu’il parait.
@fte
Qu’est-ce qui empêcherait Apple d’interdire à ce stade l’usage d’API privées par exemple ? Ou un autre moteur JavaScript que le sien ?
Rien, et on s’en fou. Il suffit de télécharger en dehors du MAS.
Je comprend pas pourquoi on en fait des tonnes pour ce MAS alors qu’ils existent d’autres options.
@reborn
"Rien, et on s’en fou. Il suffit de télécharger en dehors du MAS.
Je comprend pas pourquoi on en fait des tonnes pour ce MAS alors qu’ils existent d’autres options."
C’est qui "on" ? "On" ne s’en fout pas tous. "On" est attaché au libre usage des machines qu’"on" a payé avec notre argent.
Parce qu’il y a une gentille alerte incitant à la méfiance lorsqu’on ouvre une app non signée. Si on autorise son exécution. Qu’il faut valider en l’ouvrant autrement que par un double-click de base. Si je ne m’abuse.
Mais ce n’est pas grave si tu ne comprends pas. D’autres comprennent dans quel sens le vent souffle. Peut-être qu’il ne fait que souffler et qu’"on" n’attrapera pas de pneumonie. J’ai enfilé un pull pour ma part.
Enfin, je t’accorde en tout cas qu’une part de plus en plus grande des clients Mac se fout des lubies d’Apple, parce qu’une part de plus en plus grande de ceux qui ne s’en foutent pas se barre.
@fte
Enfin, je t’accorde en tout cas qu’une part de plus en plus grande des clients Mac se fout des lubies d’Apple, parce qu’une part de plus en plus grande de ceux qui ne s’en foutent pas se barre.
Je m’en fou car... attention surprise... je n’utilise que très peu le MAS comme pas mal d’utilisateur mac.
J’aime installer mes apps sans store quand je suis sur os de bureau.
Ça n’empêche pas Apple de vendre 20 millions de Mac chaque année.
D’autres se barre de macOS, d’autres y arrivent.
@reborn
"Ça n’empêche pas Apple de vendre 20 millions de Mac chaque année."
Et il s’est vendu 35 mio d’aspirateurs aux USA en 2018.
@fte
👍..
Et tu veux en venir où ? Qu’on s’en fou ?
Oui on s’en fou. Apple vends ses macs comme d’autre vendent des aspirateurs c’est génial
@reborn
"Et tu veux en venir où ?"
Que les chiffres de ventes ne veulent rien dire.
Facebook a des milliards d’utilisateurs, malgré une éthique inexistante et de nombreux scandales à son actif.
Apple vend 20 mio de Mac et alors ? Ça signifie que Apple fait tout juste ?
Microsoft et Google / Android ont beaucoup plus tout juste selon cette stat.
Facebook doit détenir la Vérité Divine, ainsi que Tencent, à ce rythme. Prions Facebook.
Je n’ai aucune idée de pourquoi tu avances des chiffres de ventes. Comprends pas.
@fte
Bah que le macs se vend, donc qu’il a des utilisateurs.. 🤷♂️
T’as une telle haine de ce que fais Apple que cela en altère ton raisonnement.
Il y a des options pour tout le monde chez Apple et ailleurs, je comprend pas ton excitation autour d’une pseudo mort des environnements Apple.
À l’échelle mondiale les produits Apple ne sont que très peu utilisé et sont loin d’être incontournable donc je comprend pas du tout ton cirque.
@reborn
"T’as une telle haine de ce que fais Apple que cela en altère ton raisonnement."
Ad hominem, boom.
Je suis un hater. Ainsi mourut la conversation. Paix à son âme.
@reborn
"À l’échelle mondiale les produits Apple ne sont que très peu utilisé et sont loin d’être incontournable donc je comprend pas du tout ton cirque."
Et ça continue. Tu ne comprends pas, donc c’est moi qui fait du cirque, qui gesticule, qui brasse de l’air.
Je crois que tu ne comprends pas ce que je vois et ce qui me dérange (et d’autres), simplement. Nous ne gesticulons pas. Tout ce que tu ne comprends pas n’est pas du cirque.
Mais tu l’as dit plus tôt, tu t’en fous. Si tu t’y intéressais, tu entreverrais peut-être ce que certains ici et ailleurs voient, dans la puce T1 par exemple, ou la notarisation, ou d’autres choses encore, sans même parler des interventions sur les matériels qui ne sont pas sa propriété.
@fte
Oui t’es frustré car Apple c’est fermé blablabla.. 🙄
Heuresement qu’il existe autre chose qu’Apple
@reborn
"Heuresement qu’il existe autre chose qu’Apple"
Fuck yes!
Comme quoi on peut être d’accord :)
@ fte : « Qu’est-ce qui empêcherait Apple d’interdire à ce stade l’usage d’API privées par exemple ? »
Moi, la question que je me pose est plutôt de savoir ce qui pourrait motiver Apple à décider de faire ça.
Parce que bon, la raison de l’interdiction d’usage de classes ou méthodes privées par les applications de l’AppStore, elle est claire et évidente : Apple n’a pas envie de se retrouver, du jour au lendemain, distributeur d’un paquet d’applications qui ne fonctionnent plus correctement (voire plus du tout) à cause d’une modification d’une partie de l’OS qu’elles n’étaient pas censées utiliser directement. On comprend fort bien le point de vue du propriétaire de boutique qui ne veut pas d’un tel bazar dans son catalogue.
Mais pour les applications hors AppStore, quelle serait la raison suffisamment motivante pour se lancer dans une telle entreprise ?
C’est une vraie question — il y a peut-être une réelle bonne raison qui m’a échappé, après tout.
@BeePotato
"C’est une vraie question — il y a peut-être une réelle bonne raison qui m’a échappé, après tout."
Pourquoi certaines API permettant d’accélérer drastiquement le rendu de browsers seraient privées ? Pour donner un avantage compétitif à Safari ? Ça serait assez retors.
Posons la question différemment. Pourquoi alors qu’elles ont démonté leur efficacité et puissance, ces API restent-elles privées ? Apple pourrait reconnaître leur utilité publique et, heu, les documenter et publier. On peut imaginer paresse, je m’en foutisme, ou un moyen de garder le contrôle d’un avantage compétitif en gardant sous le coude l’option de bloquer, je ne sais pas, voyons, la notarisation des apps en faisant usage. Ça serait vraiment retors.
Retors, sans doute, mais est-ce plausible ? Qu’en penses-tu ?
@reborn
Les règles de ce qui peut être notarisée ou pas étant édictées par Apple, y'a aucune garantie de ce qui peut être ou ne pas être demain, après demain, l'année prochaine.
De facto, c'est donc une épée de Damoclès au dessus de n'importe quelle app pour macOS, quelque soit le circuit de sa distribution.
@byte_order
Ah..
Le fameux l’avenir est incertain, tout peux arriver..
Demain Microsoft peut faire pareil.
Ou une météorite peut s’écraser sur Cupertino.
Sauf que encore une fois c’est cela a été précisé en juin: You will always be able to run any software of your choosing on macOS
@reborn
"Demain Microsoft peut faire pareil."
Oui. Sauf que le vent ne souffle pas dans cette direction à Seattle.
"Ou une météorite peut s’écraser sur Cupertino."
Un gros tremblement de terre est plus probable.
"Sauf que encore une fois c’est cela a été précisé en juin: You will always be able to run any software of your choosing on macOS"
Pas s’il n’est pas 64bit, par exemple. Quoi demain ?
@fte
Sauf que le vent ne souffle pas dans cette direction à Seattle.
Ah il souffle vers où alors ?
Pas s’il n’est pas 64bit, par exemple
Ouais Apple ne fait pas dans le legacy, comme Microsoft. Impossible d’exécuter une app 16 bits sous W10.
Mais là c’est un autre débat.
@reborn
"Ouais Apple ne fait pas dans le legacy, comme Microsoft. Impossible d’exécuter une app 16 bits sous W10."
Si, on peut. Il suffit d’activer NTVDM (NT Vie De Merde, moyen mnémotechnique), ce que Windows suggère si on ouvre une telle app et qu’il n’est pas installé.
@reborn
> Ouais Apple ne fait pas dans le legacy, comme Microsoft.
> Impossible d’exécuter une app 16 bits sous W10.
Mince, exemple raté.
> Mais là c’est un autre débat.
Non, justement, c'est *précisément* le débat : les différences d'autoritarisme des éditeurs d'OS.
"Ouais Apple ne fait pas dans le legacy, comme Microsoft. Impossible d’exécuter une app 16 bits sous W10.
Mais là c’est un autre débat."
Et contrairement à apple, MS n'interdit pas d'installer windows XP ou windows 7 sur un PC que tu vas acheter demain pour faire fonctionner une vieille application qui passerait mal sur l'OS le plus récent. :)
Essaie d'installer 10.5 sur un mac tout neuf pour voir ? :)
Et comparer les logiciels 16 bits d'ya plusieurs décennies avec le fait de foutre en l'air toute la logithèque 32bits...
Bizzarement ça n'a pas l'air de déranger apple qu'une partie de ses clients va devoir passer à la caisse pour changer la machine pour suivre le cycle de mise à jour qu'elle impose aux éditeurs en forcant sur ça et sur l'OS... on se demande bien pourquoi hein.
Mais bon t'es pas à une connerie de plus ou de moins de toute façon. :)
> Demain Microsoft peut faire pareil.
Oh, l'argument "d'autres font/peuvent faire pareil" pour justifier de faire un truc, circulez, y'a rien à voir. Des régimes dans le monde tuent sans véritable justice. Du coup, hein, à quoi bon défendre l'accès à une véritable justice.
> Ou une météorite peut s’écraser sur Cupertino.
Curieux de voir si le diamètre intérieur de l'Apple Park a été pensé avec génie ou pas, dans ce cas.
Par ailleurs, comparer le risque posé par le contrôle par une entreprise sur votre activité à un risque astrophysique où aucun humain n'a le moindre pouvoir d'influence, chapeau, dans le genre analogie totalement à côté, cela se pose là.
Perso, si je ne peux rien faire pour éviter qu'un astéroïde m'écrase par hasard, je peux faire quelque chose pour éviter qu'un constructeur par son contrôle juge et partie tue mon activité.
Je n'hésite donc pas depuis plusieurs années déjà de fortement déconseiller d'investir temps et argent sur la plateforme mac aux clients qui me demandent mon avis.
> Sauf que encore une fois c’est cela a été précisé en juin:
> You will always be able to run any software of your choosing on macOS
Ouais.
C'est comme pour la promesse de l'ouverture du protocole de iMessages.
Ou la promesse que Apple restera 1000 ans en Inde.
Ou la promesse que Apple veut rendre le monde meilleur.
Elles n'engagent que ceux qui veulent y croire.
J'ai passé l'âge de faire confiance aux promesses, en ce qui me concerne.
A la place, j'évalue les risques, j'observe les tendances, et je fais des choix en conséquence.
@byte_order
C’est donc un problème de confiance.
> C’est donc un problème de confiance.
Tout à fait.
Et comme la confiance cela se gagne, cela ne s'ordonne pas, ben, voilà, quoi.
@byte_order
Ok 👍
@reborn
> Il n’y a pas de Chrome ni de Firefox dans le mac app store.
Mais y'a bien un DevID derrière le développement de Chrome et de Firefox pour macOS.
Vous entretenez, tout comme votre marque préférée, l'ambiguité de plus en plus marquée autour des règles à respecter pour avoir le droit de distribuer sur le MAS et les règles à respecter pour avoir le droit de développer une app pour macOS tout court.
@byte_order
L’ambiguïté c’est toi qui la créé en mélangeant développement, signature du code et distribution.
Tu peux developper une app sans dev id et la distribuer où tu veux, sauf sur le MAS.
Si tu veux signer ton app il te faut un dev id
@reborn
> Tu peux developper une app sans dev id
On télécharge comment XCode et les SDKs sans compte Apple Developer ?
@byte_order
Xcode et cie ne sont pas obligatoire pour developper des apps qui tournent sous macOS. On peut faire sans
D’ailleurs j’ai pas payé 99$ par an pour télécharger xCode
@reborn
> Xcode et cie ne sont pas obligatoire pour developper des apps qui tournent sous macOS.
> On peut faire sans
Merci d'expliquer comment vous développez une application native utilisant les kits natifs de macOS dernière version sans XCode et les SDKs d'Apple.
@byte_order
Merci d'expliquer comment vous développez une application native utilisant les kits natifs de macOS dernière version sans XCode et les SDKs d'Apple.
Si tu veux Xcode et cie pour une app native il suffit de le télécharger.
Qu’est-ce qui t’en empêche ?
Tu veux developper avec les API d’Apple sans avoir besoin de télécharger l’outil conçu par Apple qui contiennent ces APIs.. 🤔
Tu peux aussi faire sans les outils d’Apple. Comme sous Windows
@reborn
> Si tu veux Xcode et cie pour une app native il suffit de le télécharger.
> Qu’est-ce qui t’en empêche ?
Il faut un DevID pour pouvoir télécharger les SDKs.
Il faut un DevID pour pouvoir télécharger les outils en ligne de commande permettant de compiler une application native pour macOS.
https://developer.apple.com/downloads/index.action?=command%20line%20tools
> Tu veux developper avec les API d’Apple sans avoir besoin de télécharger l’outil
> conçu par Apple qui contiennent ces APIs.. 🤔
C'est vous qui affirmez qu'on peut développer une app macOS native, donc utilisant les API d'Apple, sans avoir besoin d'un DevID.
C'est pas une histoire de vouloir, c'est une histoire de pouvoir le faire sans avoir besoin d'un DevID, comme vous affirmez que c'est possible. J'attends donc que vous m'expliquer comment c'est possible.
@byte_order
Si tu veux Xcode télécharge le, c’est gratuit.
@reborn
Vous ne répondez pas à la question.
La question c'est "faut-il oui ou non un DevID pour pouvoir compiler une application macOS native" ?
La question c'est pas de savoir si le téléchargement de tel outil est gratuit mais s'il est libre, c'est à dire sans attache envers Apple. Si les applications développées ainsi ne risquent en aucun cas une décision unilatérale qui rendrait à postériori leurs exécutions par des utilisateurs difficiles, y compris après installation.
Donc, merci d'indiquer comment un dev lamba peut développer une app native pour macOS sans devoir ouvrir un DevID (et donc souscrire, au passage, car c'est pas gratuit, non).
@byte_order
merci d'indiquer comment un dev lamba peut développer une app native pour macOS sans devoir ouvrir un DevID (et donc souscrire, au passage, car c'est pas gratuit, non).
Pas besoin d’un Apple developer ID pour compiler une app native.
@reborn
Ah, autant pour moi, vous avez raison, je confonds.
Okay, mea culpa, on peut bien compiler une application native pour macOS sans devoir avoir un Developer ID.
@byte_order
Tu confond compte Apple avec compte Apple developper id.
N’importe qui avec un compte Apple peut télécharger ces outils
Bonne nouvelle !
> Your app includes a version of an SDK from Electron that violates the App Store Review
> Guidelines.
> The version of the Electron SDK you are using in your app attempts to hide the use
> of private APIs. This is a violation Section 2.5.1 of the App Store Review Guidelines.
Electron SDK, qui est full open source, "attempts to hide" !?
Sérieusement ?
Jamais à court d'exagération, Apple.
Amazing.
Pages