TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Electron apps cannot be submitted to the Apple store

395 pointsby rdevnullover 5 years ago

38 comments

thomascgalvinover 5 years ago
The basic concept isn&#x27;t too disturbing; Apple packages private APIs that have no guaranteed behavior or expectation of support. If you depend on those APIs, it&#x27;s very possible that your app will break in a future OS update.<p>This is conceptually no different than calling something in the sun.* packages in Java. For years it was ok, and then ... it wasn&#x27;t.<p>This, however, is draconian:<p>&gt; 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.<p>&quot;Keep trying to submit, and we might just ban you forever&quot; is insane. Every program of any complexity depends on third party libraries, and many people wouldn&#x27;t be able to tell what arcane APIs their dependencies (or their dependencies&#x27; dependencies) call. &quot;If you continue to have an upstream dependency that violates our terms, we might permaban you&quot; is bullshit.<p>It&#x27;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&#x27;s ... I don&#x27;t even know anymore.
评论 #21438868 未加载
评论 #21437676 未加载
评论 #21437771 未加载
评论 #21438896 未加载
评论 #21437923 未加载
评论 #21439213 未加载
评论 #21438411 未加载
评论 #21437793 未加载
outworlderover 5 years ago
&gt; I did write back to Apple trying to explain that I am using Electron and I can&#x27;t really change any of these public-framework usage<p>Yeah. So? By linking a framework that&#x27;s using private APIs, this becomes your problem now. And Electron&#x27;s problem, by extension. Go bug them, not Apple.
评论 #21437761 未加载
评论 #21437574 未加载
评论 #21437799 未加载
评论 #21440486 未加载
评论 #21437652 未加载
评论 #21437665 未加载
jmullover 5 years ago
Putting it together:<p>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.<p>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.)<p>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.<p>The solution is a Chromium fix to avoid using these APIs, and an associated Electron release to incorporate the new version of Chromium.
评论 #21437689 未加载
评论 #21437701 未加载
评论 #21441383 未加载
评论 #21438748 未加载
评论 #21437818 未加载
评论 #21453658 未加载
评论 #21437815 未加载
Razenganover 5 years ago
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:<p><a href="https:&#x2F;&#x2F;imgur.com&#x2F;a&#x2F;XnCOHUD" rel="nofollow">https:&#x2F;&#x2F;imgur.com&#x2F;a&#x2F;XnCOHUD</a><p>And mind you, GitHub Desktop is taking that much <i>just for showing a mostly empty window!</i> while Fork and Tower are displaying a lot more UI, more controls, trees, custom drawing, more text, and have overall more features (best of all: spell checking for commit messages because all native text fields get it for free.) You can try it on your own machine and compare them.<p>Now yes Electron has made life very easy for some developers and some apps wouldn&#x27;t even exist if not for Electron, but why, as a user, should I pick an Electron app over native alternatives?
评论 #21437670 未加载
评论 #21437669 未加载
评论 #21437759 未加载
评论 #21438793 未加载
评论 #21438462 未加载
评论 #21438977 未加载
评论 #21437748 未加载
评论 #21438695 未加载
评论 #21438193 未加载
评论 #21438138 未加载
评论 #21439075 未加载
fintlerover 5 years ago
Tracked over at:<p><a href="https:&#x2F;&#x2F;github.com&#x2F;electron&#x2F;electron&#x2F;issues&#x2F;20027" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;electron&#x2F;electron&#x2F;issues&#x2F;20027</a>
ComputerGuruover 5 years ago
Good. It’s time app developers began to treat Electron like the Goliath of a dependency that it is rather than a cost-free shortcut to launching a cross-platform GUI product.<p>It’s no different than any other library or toolkit you would link against normally. You wouldn’t be hearing these complaints from a “native” app developer that intentionally picked any other library or runtime that (ab)used private frameworks.
roblablaover 5 years ago
Well, why the hell is electron&#x2F;chromium using private APIs? That seems like the real problem here...
评论 #21437673 未加载
评论 #21437508 未加载
评论 #21437520 未加载
评论 #21439994 未加载
评论 #21437832 未加载
评论 #21437647 未加载
bdcravensover 5 years ago
There&#x27;s no drama here.<p>The oldest copy of the current app store guidelines I could find goes back to 2014:<p><a href="http:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20140903022336&#x2F;https:&#x2F;&#x2F;developer.apple.com&#x2F;app-store&#x2F;review&#x2F;guidelines&#x2F;" rel="nofollow">http:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20140903022336&#x2F;https:&#x2F;&#x2F;developer....</a><p>&quot;2.5 Apps that use non-public APIs will be rejected&quot;<p>However this has been known dating back to 2010, so I&#x27;m sure someone can dig up an older version of the agreement that says as much.<p>The fact that Electron is a much easier way to build apps than Swift, Obj-C, etc has nothing to do with the enforcement of these long-standing rules.
评论 #21439261 未加载
评论 #21438068 未加载
FpUserover 5 years ago
On one hand I am not fond of Apple in general at all. On the other hand when I see developers using Electron as a GUI layer I think it is pure insanity. It is an absolute resource and performance hog that in my opinion has no place outside of browsers context.
评论 #21439268 未加载
greggman2over 5 years ago
It seems mostly reasonable to me for Apple to reject apps that use those features assuming their own apps have to obey the same rules.<p>Unfortunately if you&#x27;re popular they seem to let you bend the rules. AFAICT Slack has not been rejected and I believe Slack is electron based.<p>The issue is in Chromium. I have no idea if removing the API usage will be easy or hard but it&#x27;s been<p><a href="https:&#x2F;&#x2F;github.com&#x2F;electron&#x2F;electron&#x2F;issues&#x2F;20027" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;electron&#x2F;electron&#x2F;issues&#x2F;20027</a>
评论 #21439220 未加载
_coveredInBeesover 5 years ago
I&#x27;m curious as to how Slack was&#x2F;is still able to get updates out despite clearly relying on electron. Setting aside whether one agrees with Apple on this move or not, I would be outraged if they are playing favorites with a select few high-impact electron apps that they don&#x27;t want off their store due to the associated bad press it would garner them.
评论 #21438391 未加载
rs23296008n1over 5 years ago
At least Apple in this case actually provided a reason and list of APIs it is unhappy with. Armed with this you could either in theory or actuality chase through the maze of your app&#x27;s dependencies. If this happened to me I&#x27;d then have a fighting chance of moving forward.<p>On the other hand, plenty of rejections I&#x27;ve anecdotally encountered are far less obvious and boil down to &quot;we say so&quot;. Then you get banned while you still wonder. Google have done this a few times to others I know.<p>Strange times.
mrbover 5 years ago
Off topic: this is the first time I see Latin Modern Roman used on a web page. Doesn&#x27;t look that great on low-DPI screens (13&quot; at 2560x1440) but looks good on high-DPI (530 DPI Pixel 4 XL).
评论 #21438238 未加载
mensetmanusmanover 5 years ago
Is this an attempt by Apple to increase robustness by reducing dependencies on unsigned binaries?
评论 #21437496 未加载
评论 #21437504 未加载
评论 #21437681 未加载
评论 #21437475 未加载
ghego1over 5 years ago
While this decision looks rational and technically solid on the surface, it makes the Mac platform, and in particular the Mac app store, even less appealing to developers.<p>Here on HN we hear constantly of developers dropping out of the Mac app store. If we cobsider the premium (justified or not) of apple laptops, and thus the relatively limited audience they target, we can easily predict a steeper decline in interest to develop for the Mac platform.<p>Having said that, we should also consider that Electron is indirectly owned by Microsoft, and is based on tech by Google. So I don&#x27;t see much incentive on their part to fix this quickly, and one could even argue that they have some interest in not fixing at all this.
therealmarvover 5 years ago
Wait. Does this mean Slack will be banned soon? Or are they all using Electron 8?
评论 #21437863 未加载
The_rationalistover 5 years ago
Electron apps can be submitted to the Apple store... Slack has recently been updated for example. This seems to only affect some developers, especially electron &lt;= 5
评论 #21438372 未加载
评论 #21438947 未加载
评论 #21439197 未加载
haecceityover 5 years ago
Why doesn&#x27;t Apple change their SDK to make their API non linkable?
评论 #21437926 未加载
fookittyover 5 years ago
Well to be honest and at the risk of getting down voted I think a fair amount of readers will agree that you shouldn&#x27;t submit Electron apps not only on the Apple store but also elsewhere, it may be a good way to get a prototype out of the office but that&#x27;s about it
haecceityover 5 years ago
Why doesn&#x27;t Apple change their SDK to make the public APIs non linkable?
评论 #21437827 未加载
YoannMoinetover 5 years ago
I was able to submit my app after an upgrade to Electron 6 with no issue whatsoever.<p>Only issue was first with the signature of the app, got fixed with later updates.<p>My app is up in the AppStore with latest Electron 6.
paulie_aover 5 years ago
Hopefully this will happen everywhere. Electron apps are shit. If you don&#x27;t want to write a native app. Don&#x27;t support that platform.
peruvianover 5 years ago
Probably not a big deal for publishers - most (non-tech) people I know download Electron apps via their own website e.g. Slack, Notion, etc.
评论 #21437796 未加载
评论 #21437849 未加载
personjerryover 5 years ago
Does this apply to React Native apps?
评论 #21439095 未加载
groovebitsover 5 years ago
Wonder why they couldn&#x27;t do the same for the iOS appstore. Like js apps based in phonegap
评论 #21437757 未加载
评论 #21437605 未加载
nickpetersonover 5 years ago
Apple does not like platforms that make it easy to publish lowest common denominator apps for iOS. It makes for garbage apps that look the same on iOS and Android and presents a false equivalency. They know most companies care about iOS customers than Android so this forces companies to spend more making the iOS app better than the Android app.
评论 #21437892 未加载
jasonmp85over 5 years ago
So stop using Electron?
radoover 5 years ago
Good.
paggleover 5 years ago
If Apple doesn’t want third party apps calling private APIs why don’t they simply run third party apps in a sandbox that doesn’t have them exposed?
评论 #21437753 未加载
flipettyover 5 years ago
why not contact Electron for this problem? There must be thousands of people having this at the moment
评论 #21439553 未加载
kd3over 5 years ago
This is absolutely insane. Apple could learn a lot from Microsoft of how to treat developers. God i miss Steve Ballmer
评论 #21438129 未加载
评论 #21438845 未加载
thefounderover 5 years ago
Does anyone use the Mac appstore?
评论 #21437851 未加载
评论 #21439975 未加载
gsichover 5 years ago
Good.
thrower123over 5 years ago
So there goes one of the primary reasons to use Electron...<p>Cross-platform comparability always promises so much, and falls down in the implementation.
ilakshover 5 years ago
That&#x27;s what you get for supporting the Apple ecosystem. Its a closed system.
natchover 5 years ago
The lesson here is write native apps using the preferred native tools of the platform, and avoid shortcut solutions.
评论 #21437812 未加载
评论 #21437997 未加载
评论 #21438679 未加载
评论 #21437740 未加载
评论 #21438935 未加载
评论 #21437546 未加载
评论 #21437624 未加载
burfogover 5 years ago
Apple could just not have private APIs. At the very least, they could be impossible to access. If they have to exist at all, they could be in a separate library with permissions that prevent it from being read or mapped into memory.<p>If the APIs didn&#x27;t exist, then there would be no need for Apple to check and there would be no developers tempted to use anything private.
评论 #21437868 未加载
评论 #21438146 未加载
vunieover 5 years ago
Banning private APIs is absurd. Permanently banning developers for using private APIs is shear lunacy.<p>As someone else pointed out, not using private APIs would put some applications at a disadvantage against first party software: <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=21437673" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=21437673</a><p>Firefox is often criticized for it&#x27;s power consumption on the mac because it is not on par with safari. Chrome&#x2F;electron uses private APIs to reduce power consumption to be more competitive with Apples browser. Apple bans the use of private APIs.<p>Monopoly laws need to be updated.
评论 #21438111 未加载