AppStoreConnect Upload Error - Non-public API usage

I recently made a small UI tweak to an app I have in Testflight on the iOS AppStore. The process of uploading to Testflight was working until this week. Now when I upload my .ipa I get an email from Apple about this error:

ITMS-90338: Non-public API usage - The app references non-public selectors in accessibilityColumnCount, accessibilityColumnRange, accessibilityDataTableCellElementForRow:column:, accessibilityRowCount, accessibilityRowRange,The app references non-public selectors in PlugIns/.appex/accessibilityColumnCount, accessibilityColumnRange,

My short term solution was to just comment out those selectors from the juce_ios_Accessibility.mm file. Not sure if its an update to Apple’s code review or something else.

I’ve seen that there was a previous issue on github about something similar - https://github.com/juce-framework/JUCE/issues/928

This issue was fixed recently on master and develop. Please update JUCE to the latest version and try submitting your app again.

Ah ok perfect thanks Reuk!

I’m afraid this isn’t fixed. I have just compiled an App with JUCE 6.1.5 and uploaded to the App Store Connect and just got this same error message:

ITMS-90338: Non-public API usage - The app references non-public selectors in GeminiEditor: accessibilityColumnCount, accessibilityColumnRange, accessibilityDataTableCellElementForRow:column:, accessibilityRowCount, accessibilityRowRange. 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.

Did you use the develop or master branch from github?

For Mac OS I usually download the compiled download from here: https://api.juce.com/api/v1/download/juce/latest/osx

What is this? Develop or Master?

That’s the version of master from the day that we do the release. It doesn’t contain any hotfixes that are cherrypicked onto master after the initial release.

Ok, the files into that zip file are dated Jan 26, the hotfix seems to be applied Jan 31, but they’re both the master of 6.1.5… this is confusing. Anyway, thanks for the clarification, I’m now downloading the master from GitHub.

My initial upload to AppStore using JUCE 6.1.5 has also failed with the same:email notification: ITMS-90338: Non-public API usage - The app references non-public
I downloaded again JUCE 6.1.5 with Projucer dated January 26, 2022.
Now the same iOS project fails to built. Errors: No matching member function for call to “addMethod” in juce_ios_Accessibility.mm.

    AccessibilityContainer()
        : ObjCClass ("JUCEUIAccessibilityElementContainer_")
    {
        addMethod (@selector (isAccessibilityElement),     getIsAccessibilityElement);
        addMethod (@selector (accessibilityFrame),         getAccessibilityFrame);
        addMethod (@selector (accessibilityElements),      getAccessibilityElements);

Please download JUCE from the official github repo and try building again.

As mentioned above, the .zip from the 26th of January doesn’t contain the fix to allow uploading to the app store.

Thank you! It went through without any issues after archiving with new JUCE-Master modules