ITMS-90338: Non-public API usage automatic refuse

Hello,


We contacted Apple Developer Support due to an automatic message we receive when trying to publish a new version of our app



Dear Developer,
We identified one or more issues with a recent delivery for your app. Please correct the following issues, then upload again. 
ITMS-90338: Non-public API usage - The app references non-public selectors in Idealys: applicationWillTerminate,
 ddSetLogLevel:, localTarget, newSocketQueueForConnectionFromAddress:onSocket:, setOrientation:animated:,
 socket:didConnectToHost:port:, socket:didReadPartialDataOfLength:tag:, socket:didReceiveTrust:completionHandler:,
 socket:didWritePartialDataOfLength:tag:, socket:shouldTimeoutReadWithTag:elapsed:bytesDone:, 
socket:shouldTimeoutWriteWithTag:elapsed:bytesDone:, socketDidCloseReadStream:, socketDidSecure:,
 terminateWithSuccess, webSocket:didReceiveMessage:, webSocketDidOpen:

 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


The problem is we do not understand what the issue is even when reading your automatic message.


How can we debug this ?

How can we identify the source of the problem ?

Do you have any idea of what the problem is ?


What we tried :

  1. We tried to re-publish the application we currently have on your store (production) with different build number => App rejected with the same automatic message ;
  2. We tried to disable one by one every cordova plugin (see the list below) => App rejected with the same automatic message ;
  3. We tried to look for every reference listed in the automatic message using XCode and grep => We found none of those ;
  4. We tried to upgrade cordova-ios => App rejected with the same automatic message ;


XCode version : 11.0

MacOS version : 10.14.6

Cordova-ios version : 4.5.5

Ionic version : 1


Best regards,

Answered by App Store Connect Engineer in 715975022

The issue has been resolved on the app validation backend. Please try resubmitting. Sorry for the trouble.

Same here, an app that has been releasing updates without issues for months. Even 2 days ago, a testflight version successfully uploaded, but today it just failed after simple (non native) changes.

TMS-90338: Non-public API usage - The app references non-public selectors in zinspector3: estimatedProgress, initWithFrame:configuration:, isMainFrame, isPassthrough, navigationType, onSuccess:, removeValuesForKeys:completion:, setNavigationDelegate:, setProcessPool:, targetFrame, userContentController, websiteDataStore.

Did apple turn on a setting that bans all these out of the blue? Or did someone add a "not" condition in their code and now everything is flagged?

I'm with you guys. Didn't change any dependencies but started getting this error while uploading...

Same here, ony minor code changes, no third party added since my last successfully uploaded testflight 3 days ago, using React Native here. Can't help thinking it's wwdc22 or ios16 related ...

I have literally the same problem...

Same issue here

Same here on Expo (43) + EAS

Having the same issue with a Flutter build. Was submitting fine on Friday with only very minor code changes.

I will add my voice to the chorus here, we literally uploaded a build less than twelve hours ago, and now this. I'm digging around in the linked libraries to see if there's anything new and different from this archive to the last, but it doesn't look like it so far.

Same here -- trying all day to fix it.. glad it's not just me!

Here are the errors I'm getting:

App Store Connect Operation Error Your app contains non-public API usage. Please review the errors, correct them, and resubmit your application.

App Store Connect Operation Error The app references non-public selectors in Payload: applicationNameForUserAgent, initWithFrame:configuration:, isMainFrame, navigationDelegate, navigationType, setNavigationDelegate:, setProcessPool:, targetFrame, userContentController I've removed any suspect plugins down to the core plugins: Camera, Device, File, and Geolocation, which are all established plugins, but no matter what, the exact same errors above persist every time I submit the app from XCode for validation. And all versions and tools are up to date.

Apple -- can I have a day's pay back that I've wasted on this?

Hi,

I have the same error. I put here: https://github.com/swordray/JXWebViewController/issues/1

And the message is:

ITMS-90338: Non-public API usage - The app references non-public selectors in Frameworks/JXWebViewController.framework/JXWebViewController: isMainFrame, setNavigationDelegate:, targetFrame. 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

Hi,

I have the same error now:

ITMS-90338: Non-public API usage - The app references non-public selectors in Frameworks/JXWebViewController.framework/JXWebViewController: isMainFrame, setNavigationDelegate:, targetFrame. 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

Any solution?

Having the same issue today, worked fine yesterday. Nothing has been changed...

i'm having the same error as everyone else. seems like they must've released something new to the api that checks build uploads.

hopefully they can submit a fix soon as I don't have a clue how to resolve by changing anything on my end. seems crazy!

I've also experiencing the same issue, minor changes, all was good 2 hours ago and a sudden error happens. i think there's something related to the xcode backend for performing SPI check which might be broken at this time and giving us a false alarm.

Same here. Just began today and everything is working fine until last night!

ITMS-90338: Non-public API usage automatic refuse
 
 
Q