Live data from Hacker News

Electron apps cannot be submitted to the Apple store

david.dev

21–30 of 441 posts

Re: Electron apps cannot be submitted to the Apple store

#21
Putting it together:

This is about submitting an app to the Mac App Store. Apple has had a requirement that apps not use private APIs for a while.

It sounds like Chromium, and hence Electron have had references to some private APIs for a while, but Apple has only recently started enforcing their requirement. (Or perhaps only recently started scanning for these particular APIs.)

It’s a little painful for the developers for this to suddenly pop up like this, but it’s better than all Electron apps suddenly crashing one day, which would have happened sooner or later when one of these APIs changed or was dropped.

The solution is a Chromium fix to avoid using these APIs, and an associated Electron release to incorporate the new version of Chromium.

Re: Electron apps cannot be submitted to the Apple store

#22
The basic concept isn't too disturbing; Apple packages private APIs that have no guaranteed behavior or expectation of support. If you depend on those APIs, it's very possible that your app will break in a future OS update.

This is conceptually no different than calling something in the sun.* packages in Java. For years it was ok, and then ... it wasn't.

This, however, is draconian:

> Continuing to use or conceal non-public APIs in future submissions of this app may result in the termination of your Apple Developer account, as well as removal of all associated apps from the App Store.

"Keep trying to submit, and we might just ban you forever" is insane. Every program of any complexity depends on third party libraries, and many people wouldn't be able to tell what arcane APIs their dependencies (or their dependencies' dependencies) call. "If you continue to have an upstream dependency that violates our terms, we might permaban you" is bullshit.

It's also completely unsurprising. Apple has no love nor concern for their developers anymore. It used to be the premier development platform in the world. Now it's ... I don't even know anymore.

Re: Electron apps cannot be submitted to the Apple store

#23
post #3

Well, why the hell is electron/chromium using private APIs? That seems like the real problem here...

Another interesting question is how Chrome itself gets approved for the Apple web store then, right?

https://apps.apple.com/us/app/google-chrome/id535886823

Re: Electron apps cannot be submitted to the Apple store

#24

> I did write back to Apple trying to explain that I am using Electron and I can't really change any of these public-framework usage Yeah. So? By linking a framework that's using private APIs, this becomes your problem now. And Electron's problem, by extension. Go bug them, not Apple.

This summarizes Apple's attitude to developers. Eventually, you'll run foul of some obscure nonsensical Apple policy, and Apple will not hesitate to show you the finger. And Shame you for your dev choices.

Re: Electron apps cannot be submitted to the Apple store

#25
post #3

Well, why the hell is electron/chromium using private APIs? That seems like the real problem here...

Another interesting question is how Chrome itself gets approved for the Apple web store then, right? https://apps.apple.com/us/app/google-chrome/id535886823

Presumably the iOS Chrome is not using Apple's private APIs.

Re: Electron apps cannot be submitted to the Apple store

#26
post #12
post #3

Well, why the hell is electron/chromium using private APIs? That seems like the real problem here...

Its looks as if the Electron team had the assumption that developers would be unlikely to distribute their Electron Mac apps via the App Store, but instead as a DMG or zip which doesn't require Apple reviewing private APIs.

But they had to know it was happening at some point right?

Re: Electron apps cannot be submitted to the Apple store

#27

> I did write back to Apple trying to explain that I am using Electron and I can't really change any of these public-framework usage Yeah. So? By linking a framework that's using private APIs, this becomes your problem now. And Electron's problem, by extension. Go bug them, not Apple.

Wouldn't a more reasonable path be for Apple to talk directly to Electron and Chromium about the issue and work out a path forward before rattling a banhammer at app developers, though?

I mean, did Electron or Google just refuse to fix this? Are these private APIs things that actually get exercised in the apps being threatened?

It's not so much about culpability or Apple's right to control their app deployment environment, it's that the response seems really disproportionate to the offense and pretty badly misdirected.

A more conspiratorially minded poster might wonder if the real goal here was to dissuade developers from using cross-platform frameworks...

Re: Electron apps cannot be submitted to the Apple store

#28
post #3

Well, why the hell is electron/chromium using private APIs? That seems like the real problem here...

Another interesting question is how Chrome itself gets approved for the Apple web store then, right? https://apps.apple.com/us/app/google-chrome/id535886823

That's the mobile version of chrome, which as required of all browsers on iOS, is using the Safari web renderer under the hood.

Re: Electron apps cannot be submitted to the Apple store

#29

As a user I am glad. As is custom for all Electron discussions, someone must point out its flaws. Why the dislike, you ask? A picture is worth a thousand 64-bit words: https://imgur.com/a/XnCOHUD And mind you, GitHub Desktop is taking that much just for showing a mostly empty window! while Fork and Tower are displaying a lot more UI, more controls, trees, custom drawing, more text, and have overall more features (bes…

These numbers are too low. I assume that this task manager might show only private pages and not account shared pages with code (and the code size in Chrome is close to 100 Mb). Anyway, the number looks a bit unrealistic. Or maybe it doesn't count swap.

I used Electron apps on Linux and typically memory usage doesn't get below 250-500 Mb.

Here is an example for Skype: 220 Mb of swap + 388 Mb of PSS (Proportional set size).

Re: Electron apps cannot be submitted to the Apple store

#30

As a user I am glad. As is custom for all Electron discussions, someone must point out its flaws. Why the dislike, you ask? A picture is worth a thousand 64-bit words: https://imgur.com/a/XnCOHUD And mind you, GitHub Desktop is taking that much just for showing a mostly empty window! while Fork and Tower are displaying a lot more UI, more controls, trees, custom drawing, more text, and have overall more features (bes…

While working on a project that uses a service built in Typescript I've been using vscode. I was wondering what was wrong with my laptop's battery, it had gone from lasting around 2-3 hours unplugged doing reasonably intensive to lasting around 40 minutes. As soon as I stopped using vscode the battery life went back to what I'd normally expect. It's honestly outrageous that applications built on Electron strangle your CPU to this extent. I'm not sure if vscode is particularly resource expensive compared to other Electron apps, but compared to other editors it's just ridiculous.
Post reply on HN