Test Flight Rejection : ITMS-90338: Non-public API usage

Today, I'm getting Test Flight builds rejected with the following reason:

ITMS-90338: Non-public API usage - The app references non-public selectors in MyRedactedAppName: _isKeyDown, _modifiedInput, _modifierFlags, handleNotification:, isPassthrough, onSuccess:, removeValuesForKeys:completion

However, I'm uploading the exact same code (working on a CI/CD pipeline) as I did last Thursday and that build passed.

Pretty sure this is on the Apple side of things. Anyone else seeing this today? I know a few folks have had similar rejections since June 6, when things got updated for WWDC. Some seem to have been resolved by Apple, but I've tested this twice today and received the same result.

FYI this issue in my case is due to code in the react native package. There is a thread on the topic here https://github.com/facebook/react-native/issues/31507 It discusses some temporary work around options. Ideally, this package will get updated soon.

The issue is not related to the react native, the solution is very simple (at least for me):

  • Click on the scheme.
  • Click on "Edit Scheme".
  • Click on "Archive".
  • Change the "Build Configuration" value from "Debug" to "Release".

Dear Developers, Don't go anywhere, You just need to switch your debug build to Release build. If you're asking how, then

In your Xcode, on top bar, there is your app name[next to simulator name(i.e. iPhone 15)], click on the name => [dropdown] Edit Scheme... => [window] select Archive => in Build configuration select release

Now don't forget to Archive again. Then proceed to Distribute your build

Test Flight Rejection : ITMS-90338: Non-public API usage
 
 
Q