Live data from Hacker News

Tell HN: Apple rejecting cross platform apps (React Native, Flutter, Capacitor)

news.ycombinator.com

1–10 of 19 posts

Tell HN: Apple rejecting cross platform apps (React Native, Flutter, Capacitor)

#1
...Not on purpose, probably. This started immediately after their WWDC service downtime.

"Dear Developer,

We identified one or more issues with a recent delivery for your app, "App" 1.0.0 (2). Please correct the following issues, then upload again.

ITMS-90338: Non-public API usage - The app references non-public selectors in App: authorizationCode, createRequest, estimatedProgress, identityToken, initWithFrame:configuration:, isMainFrame, isPassthrough, navigationType, onSuccess:, removeValuesForKeys:completion:, setNavigationDelegate:, setProcessPool:, setRequestedOperation:, setRequestedScopes:, targetFrame, userContentController, viewManager, websiteDataStore. 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/

Best regards,

The App Store Team"

https://github.com/facebook/react-native/issues/31507

https://github.com/flutter/flutter/issues/105471

https://github.com/ionic-team/capacitor/issues/5661

https://developer.apple.com/forums/thread/127678

Re: Tell HN: Apple rejecting cross platform apps (React Native, Flutter, Capacitor)

#3
post #2

so... they're not rejecting cross-platform apps because they're cross-platform, they're rejecting it because it either a) uses non-public APIs, or b) the internals share method/class names with non-public APIs...?

Correct. Their automated system is rejecting the builds. It seems to think they're using private APIs. This problem seems to be affecting users of all the major cross platform solutions, but it might not be exclusive to them.

Edit: This tweet is theorizing that it's an issue with WkWebView https://twitter.com/ThomasVidas/status/1533936319596007425

Re: Tell HN: Apple rejecting cross platform apps (React Native, Flutter, Capacitor)

#5
I don't think this has anything to do with cross-platform apps or frameworks, since it's impacting a lot of other libraries as well as frameworks. Rather, it seems like their automated submission system has broken and is erroneously flagging WKWebView API usage as using private APIs.

Regardless, this looks to be a massive problem impacting tons of communities and any apps using web views. I hope Apple fixes it soon.

Re: Tell HN: Apple rejecting cross platform apps (React Native, Flutter, Capacitor)

#6
If you google for some of these methods this seems to be a periodically recurring thing. I can find references to similar reports on "removeValuesForKeys:completion" in 2020 and 2021 for eg., and those have some other overlapping method names.

Re: Tell HN: Apple rejecting cross platform apps (React Native, Flutter, Capacitor)

#7
This kind of glitch with the App Store happens every now and then when they accidentally flag public selectors as private.

It has nothing to do with cross platform frameworks aside from that they have many users who will be quick to complain, and who don't know anything about iOS development or what how code they're deploying actually works so that the errors are confusing to them.

Re: Tell HN: Apple rejecting cross platform apps (React Native, Flutter, Capacitor)

#8
post #7

This kind of glitch with the App Store happens every now and then when they accidentally flag public selectors as private. It has nothing to do with cross platform frameworks aside from that they have many users who will be quick to complain, and who don't know anything about iOS development or what how code they're deploying actually works so that the errors are confusing to them.

No post body was provided.

Re: Tell HN: Apple rejecting cross platform apps (React Native, Flutter, Capacitor)

#10
post #2

so... they're not rejecting cross-platform apps because they're cross-platform, they're rejecting it because it either a) uses non-public APIs, or b) the internals share method/class names with non-public APIs...?

No post body was provided.
Post reply on HN