Apple Mac App Store automatically refuses Electron apps

The developer reports that the app review process for the Apple Mac App Store has automatically rejected apps developed using the Electron framework. The Electron framework based on JavaScript and Node.js can package the Web App package into a desktop app.

electron

The developer explains:

Hello,

Thank you for providing this information.

Regarding 2.5.1, your app uses or references the following non-public APIs. If you do not have access to your binary or unsure how to remove the APIs in question, please contact your service provider for technical supports.

“Next Steps

If you are using third-party libraries, please update to the most recent version of those libraries. If you do not have access to the libraries’ source, you may be able to search the compiled binary using the “strings” or “otool” command line tools. The “strings” tool can output a list of the methods that the library calls and “otool -ov” will output the Objective-C class structures and their defined methods. These tools can help you narrow down where the problematic code resides.

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.”

The reason Apple rejects such apps is the private API calls they use. The Electron framework has been using these APIs for several years, and Apple recently updated the server-side application review process to detect and identify private APIs that violate their application review requirements. The detected private API symbols include:” CAContext CALayerHost NSAccessibilityRemoteUIElement NSNextStepFrame NSThemeFrame NSURLFileTypeMappings.”

Via: 9to5mac