New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Mac App Store Private API Rejection: Electron 5.0.10 #20027
Comments
I downgrade Electron to 5.0.9 and still get rejection email. |
I got this rejection this morning for Electron 5.0.4, and also for 5.0.10. I think something has changed on Apple's end. |
This comment has been minimized.
This comment has been minimized.
List of private APIs detected:
Please only comment on this issue if your rejection email has APIs that are not in the list above. If you just comment |
Developer relations responded and stated that they believe that the problem was on issue on their end and they will look into it. I checked tonight and my previously rejected builds are available now in App Store Connect. |
I just checked as well and my previously rejected build (Electron 4.2.9) is also available on store. |
Thanks @gaodeng , @mytran and @ogi1982 for that new information. It sounds like apple got a few reach-outs and either corrected their system or whitelisted the framework temporarily. Still waiting to hear back as to what exactly happened. I'll leave this open till at least next week where hopefully we'll have more info |
I can now upload my build with Electron 5.0.10 to the Store as well. I'll probably leave to @MarshallOfSound to close this ticket :) |
My app using Electron 4.2.12 was just rejected because of the following APIs:
|
Electron 5.0.11 Your app uses or references the following non-public APIs:
|
electron : 6.0.10 Guideline 2.5.1 - Performance - Software Requirements CAContext |
electron 3.0.2 Your app app links against the following non-public framework(s): CAContext |
@MarshallOfSound is there anything we can do to help ? |
@zcbenz looks like you have done patches before can you do a new one for these ? sorry for stressing but i have important update to my app that needs to be deployed |
Try appealing and state that you're using Electron and those APIs are internal to Electron: |
Updated to latest electron v7.0.0 and got rejection again. |
@mytran i see its a patch file in the code base if we somehow can add the APIs there and for those that know how to do this. If everyone that needs this to be fixed donated some $ |
rejected today electron 6.0.12 and also with 7.0.0 Your app app links against the following non-public framework(s): CAContext does it work with Electron 5 ? |
I informed Apple about my app using electron etc. and received this: "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." |
3.0.0-beta.5 mas version rejected as well for private apis: CAContext Just a week ago, we just successfully pass apple's audit using the same mas version. I am wondering does the old electron-v3.0.0-beta.5-mas-x64.zip file got rebuild on the download server side or zip file never modified while Apple changes their private api strategy or both? any hints you guys, coz this is really frustrating and annoying. |
Also am getting the same issue with 6.0.11 when attempting to build hyperspacedev/hyperspace:
I don't know if this is related, but I think this is also causing a crash on the app as well with an "Operation not permitted" error.
|
@nornagon can you help us with this ? |
@JCBsystem and all. I would be very careful in changing anything just to get through Apple. Their latest message said: "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." I don't want to see any of my other apps compromised so I hope in an official fix ini the future (if possible at all). May be one of the moderators/maintainers can escalate this (and relabel since it effects Electron 6 and Electron 7 too, tried with 7.0.1 too). |
Sure, you can download it here. |
you have a "app.asar.unpacked" include in you resource folder. remove "app.asar.unpacked" an try again see picture here |
Thanks @JCBsystem! I'll look into removing that today; sounds like it most likely is a Cordova issue. |
This reverts commit 391b799.
@JCBsystem @MarshallOfSound @erisu Good news! My update was just accepted! It seems that app.asar.unpacked is generated by the Electron build toolchain. I don't know the point at which it's generated, but I ended up having to patch What I'm confused about is how no one else seems to have run into this issue, given that as far as I can tell it's a happy path Electron bug. Is there maybe something that Cordova (or my app) is doing differently that might cause app.asar.unpacked to be unexpectedly created (or unexpectedly populated with the |
|
but there is 2 Electron apps in his app thats not right |
@JCBsystem Sorry if I wasn't clear, I'm saying their issue is unrelated to #20027 (the current issue we are in). Their build system is incorrectly packaging their app either using or accidentally including the non-mas version of Electron and having that information / solution in this thread is poor context for folks reading this thread in the future. I was just making it clear that as their issue is completely different any solution they reference will not solve this issue. |
Ah, thanks, that's good to know. Would deleting just
Can you be more specific? You've said this several times and I don't understand what other kind of mas build you mean to suggest I'm using. Does the build config not look right?
Not sure what to tell you, there are literally no other changes. It passes with app.asar.unpacked removed and fails otherwise. |
Probably not if you delete just that app, but you should figure out why it's being put there instead of hacking around it.
The build config appears correct but as I said You should figure out why that |
Got it, thanks for clarifying that! So some of the node modules in that folder are definitely needed at run-time, but just In that case, I think we've narrowed down what it is that Cordova needs to fix (as well as an improvement for my hacky workaround). I'll go report this in the cordova-electron issue thread. |
Sorry if this is answered elsewhere, but: Are Electron versions 7.x, 8.x, and 9.x also problematic users of private APIs? Or have there been updates in the latest versions of Electron to address this issue? I ask because I'm trying to figure out whether it's more work to undo the breaking API changes I made and revert back to Electron 5.x, or if I can just get a later version of Electron that's also fixed. |
@briandk |
I just released my app losslesscut with electron 8.2.0 and can confirm I did not get any private API issues during review. |
Guys, do you know, is there a way to use the autoUpdater module in MAS build? Maybe this question is related to the current discussion. |
@kalachevmax Mac App Store should handle the updates on its own. Without the Electron app auto-updating itself. That being said, there may be a way to do both. |
Electron 8.0.2 and 9.0.0-beta3 was released on 2020-02-25, and apps report being let through again electron/electron#20027 (comment)
Issue Details
Rejection Email
ITMS-90338: Non-public API usage - The app contains or inherits from non-public classes in Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework: CAContext, CALayerHost, NSAccessibilityRemoteUIElement, NSNextStepFrame, NSThemeFrame, NSURLFileTypeMappings . If method names in your source code match the private Apple APIs listed above, altering your method names will help prevent this app from being flagged in future submissions. In addition, note that one or more of the above APIs may be located in a static library that was included with your app. If so, they must be removed. For further information, visit the Technical Support Information at http://developer.apple.com/support/technical/
The text was updated successfully, but these errors were encountered: