Build upload to TestFlight has been unsuccessful due to some error 'ITMS-90338: Non-public API usage'.

The app references non-public symbols in : UIFontFeatureSelectorIdentifierKey_ForNewSwiftAPI, UIFontFeatureTypeIdentifierKey_ForNewSwiftAPI. 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.

We got this error mail from the build-1 of the version 3.2 and we tried few more times till build number-5.

We have upload same as version 3.1.

My app is also being auto-rejected for referencing those same two symbols, coded as "ITMS-90338: Non-public API usage". The only related references in my code that I can find (or in my few dependencies) is the following UIFont extension, which to the best of my knowledge is referencing the latest, correct public symbols: UIFont.withSmallCaps.

I've tried Xcode 13.2.1, 13.3 beta 2 and 13.3 beta 3. I've also tried with and without the new build mode (defaults write com.apple.dt.XCBuild EnableSwiftBuildSystemIntegration 1).

Removing the extension I mentioned above does indeed work around the issue. That's not a solution for me, since I actually do need that functionality. Again, the code that's causing the non-public symbols to be added to my build is this: UIFont.withSmallCaps. I've yet to find anything suggesting that the used API has been disallowed.

Today I received word on a Feedback, and confirmed in my own app, that this has been resolved in Xcode 13.3 (13E113).

Build upload to TestFlight has been unsuccessful due to some error 'ITMS-90338: Non-public API usage'.
 
 
Q