ITMS-90338: Non-public API usage automatic refuse

  • Same to me... ITMS-90338: Non-public API usage - The app references non-public selectors in Frameworks/Capacitor.framework/Capacitor: applicationNameForUserAgent, initWithFrame:configuration:, isMainFrame, setNavigationDelegate:, targetFrame.

  • I'm also seeing this issue as of today without adding any new packages.

  • ITMS-90338: Non-public API usage - The app references non-public selectors in NNNN estimatedProgress, initWithFrame:configuration:, initWithURL:configuration:, initWithURL:entersReaderIfAvailable:, isMainFrame, ...etc

    Found this https://news.ycombinator.com/item?id=31648690 I think someone introduced a lookup issue in apples code validator.

    Let's hope this is resolved pronto. Well at least Android is working (that was a passive aggressive dig).;

Apple Recommended

  • Thanks a lot. ^^

  • it worked, thanks!

  • Thanks for the fix. I just uploaded a new build and it works!

Replies

Same. Thought I was going crazy. One build worked yesterday and then with minimal changes it just stopped working. Tried so many things in the past 24hours ish. Glad to see I am not completely insane.

Unity version 2019.4. Xcode 13.4. Also switched over to cloud build on Unity in hopes that would fix it but it did not.

Same problem. I have uploaded some days ago, but, today, I can't send a new build of my app.

ITMS-90338: Non-public API usage - The app contains one or more corrupted binaries. Rebuild the app and resubmit.. 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/

Xcode 13.4.1

Mac 12.4 M1

Native app with ObjC and Swift classes.

  • I tried right now and it works. Thanks.

Add a Comment

Facing the same issue since yesterday. Even though an update was successfully pushed just 1 day ago.

Same issue here! Please don't say that it was fixed because it's not. Just started this week, Unity, not cloud build. ITMS-90338: Non-public API usage - The app contains one or more corrupted binaries. Rebuild the app and resubmit

Same here,

ITMS-90338: Non-public API usage - The app contains one or more corrupted binaries. Rebuild the app and resubmit.. 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/
  • macOS 11.6
  • xcode 13.0

Same here,

ITMS-90338: Non-public API usage - The app contains one or more corrupted binaries. Rebuild the app and resubmit.. 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/

-xcode version: 13.2.1 (Latest Compatible Unity Cloud Build)

-unity version: 2020.3.32f1

Seems like the validation tool was fixed on the Apple side. We were able to submit a build containing Unity. Can anybody also confirm?

  • Yes, I confirm that is come back to works fine

  • we experienced the issue for a Unity ios app. Today we are able to submit fine with no code change

  • It is now fixed.

Add a Comment

We are facing similar issue.. The app we are trying to upload is a sample camera app from Apple only. AVMulticamPIP sample. In the refusal email even though it says non-public API usage, no API names are mentioned for which it is refusing.

This is the email we got

Dear Developer, We identified one or more issues with a recent delivery for your app, "Perma Evidence Pro" 1.0 (1). Please correct the following issues, then upload again. ITMS-90338: Non-public API usage - The app contains one or more corrupted binaries. Rebuild the app and resubmit.. 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

Same here, nothing was changed from previous builds. Looks like an Apple bug.

Last time we received something similar to this it was on Apple's end and we just needed to wait it out for a day. Is anyone else hitting a similar problem right now?

We only made some small style updates so we're having a hard time thinking that it is something in our build!

Dear Developer, We identified one or more issues with a recent delivery for your app, "Shmoody: Improve Your Mood" 2.2.24 (210219). Please correct the following issues, then upload again. ITMS-90338: Non-public API usage - The app references non-public selectors in Shmoody: _isKeyDown, _modifiedInput, _modifierFlags, isPassthrough, onSuccess:, removeValuesForKeys:completion:, setHighlightsToday:, viewManager. 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

  • Still have the same error using Expo. I am using the last successful uploaded IPA to try still meet this error.....

  • We are also using Expo. We are going to try updating eas library to see if that helps for some reason.

  • We got this same error a couple months ago and experienced the same thing: just had to wait a couple days and Apple fixed it. The error is back now though. We did make some changes like updating React Native, the Codepush version, some libraries and making some small changes to accommodate Android 13, but I don't think they would have caused this. Seems like the same thing again. Apple, come through! Thank you!

Add a Comment

I am getting similar errors:

ITMS-90338: Non-public API usage - The app references non-public selectors in MedTextiOS: checkFocusGroupTreeForEnvironment:, commissioningComplete:, connectionTypesMask, pairDevice:address:port:discriminator:setupPINCode:error:, setConnectionTypesMask:, setListenPort:, sharedController, sleep:, test:, toggle:. 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.

Minor change in our code, successful submission 10 days ago, and now this. Very frustrated with such an approach from Apple.

I just submitted a report to Apple asking for an update, has anyone else?

  • I got a response saying I needed to change three selectors. They were all in the react native node_modules. I did that and it was uploaded (even though I still got a warning that it wasn't). I think best bet at this point is to file an issue with Feedback Assistant, that's what I did.

Add a Comment

The issue happens almost two weeks... still getting Non-public API usage

In my case, I got an error with Inon-public selectors instead of non-public AP during validation.

I didn't have this problem a month ago.

We have reported this to Apple using feedback assistance.

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

the message I got yesterday (12th Sept 2022) was: ITMS-90338: Non-public API usage - The app references non-public selectors in Advantis.iOS: checkFocusGroupTreeForEnvironment:, commissioningComplete:, pairDevice:address:port:discriminator:setupPINCode:error:, setListenPort:, sharedController, sleep:, test:, toggle:. 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

Is this really STILL ongoing???

  • The problem still exists and seems apple has not any update... I face this problem a month ago and still can not launch to test flight...

  • The same here

Add a Comment