Search code examples
electronv8mac-app-store

Why can electron app be published on MAC App Store?


According to this guideline, electron app can be published to MAC App Store. Electron itself is based on chromium and node.js, and they are both based on v8 js engine which enables JIT. But JIT compiler is not allowed by MAC App Store as far as I know. So how can it bypass this limitation?


Solution

  • It's not against Apple's Developer Program guidelines as long as the binary remains the same and the app continues working as advertised in the store.

    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.