为什么electron app可以上架MAC App Store?

Why can electron app be published on MAC App Store?

根据此guideline,电子应用程序可以发布到MAC App Store。 Electron 本身基于 chromium 和 node.js,它们都基于支持 JIT 的 v8 js 引擎。但据我所知,MAC App Store 不允许 JIT 编译器。那么如何绕过这个限制呢?

这并不违反 Apple 的开发者计划指南,只要二进制文件保持不变并且应用程序继续像商店中宣传的那样工作。

https://developer.apple.com/programs/information/Apple_Developer_Program_Information_8_12_15.pdf

3.3.2 Except as set forth in the next paragraph, an Application may not download or install executable code. Interpreted code may only be used in an Application if all scripts, code and interpreters are packaged in the Application and not downloaded. The only exceptions to the foregoing are scripts and code downloaded and run by Apple's built-in WebKit framework or JavascriptCore, provided that such scripts and code do not change the primary purpose of the Application by providing features or functionality that are inconsistent with the intended and advertised purpose of the Application as submitted to the App Store.

For OS X Applications submitted to Apple for distribution on the App Store, an Application may install or run interpreted or executable code (e.g., plug-ins and extensions) for use in conjunction with the Application only so long as such code: (a) does not change the Application's submitted binary or would not otherwise be considered an update (as determined in Apple’s sole discretion); and (b) does not change the primary purpose of the Application by providing features or functionality that are inconsistent with the intended and advertised purpose of the Application as submitted to the App Store.