ITMS-90338: Non-public API usage for UIPrintInfo, UIPrintInteractionController in Mac Catalyst app

We have several Mac Catalyst apps that use UIPrintInfo and UIPrintInteractionController to support printing. Both of these classes are marked as available on Mac Catalyst 13.1 in the documentation and we do not receive any errors or warnings using them in our app. We have successfully uploaded to App Store Connect recently with apps that use those classes, but now are receiving error messages from App Store Connect complaining that the use of these classes is non-public API and receive the ITMS-90338 error, even though no code has changed. Is this an issue on the validation side, or are these classes no longer supported on Mac Catalyst? Thanks in advance for any help!

Thank you for this report. It is definitely unexpected that UIPrintInfo and UIPrintInteractionController are being reported as non public! The team is investigating.

I just hit that problem, too, so it's not just you. The iOS versions of the same apps submitted fine.

I have the problem too! ITMS-90338: Non-public API usage. The app contains or inherits from non-public classes in Contents/MacOS/MyAppName: UIPrintInfo, UIPrintInteractionController, UIPrintPageRenderer, UIPrinter, UIPrinterPickerController 

It seems to be a validation error. I have received the same message today for a catalyst app that has a very long version history with an unchanged UIPrintInteractionController implementation.

I got the same error after uploading the app yesterday.

The iOS version of the same app was accepted without any problem and previous version of the Mac/Cathalyst version was also accepted (without changes in the usage of these classes since then).

I created a thread about it yesterday, but it looks like UIMarkupTextPrintFormatter got caught up in this as well.

+1 here. I am working on a critical fix and seeing this, how's your weekend?

ITMS-90338: Non-public API usage - The app contains or inherits from non-public classes in Contents/MacOS/Whiteboard: UIPrintPageRenderer, UISimpleTextPrintFormatter . 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/

We're seeing this problem too, and are unable to test our apps as a result. @Pheynen, do you have an ETA on this?

I am having the exact same issue with a macCatalyst app. ITMS-90338: Non-public API usage - The app contains or inherits from non-public classes in UIPrintInfo, UIPrintInteractionController, UIPrintPageRenderer. I have not changed the code in 6 months.

Same here. UIPrintInteractionController and UIPrintInfo are rejected as non-public APIs.

Same problem, same error message. Hope to get this resolved soon!

Same problem here

I'm getting the same rejected binary message.

I have the same problem.

ITMS-90338: Non-public API usage for UIPrintInfo, UIPrintInteractionController in Mac Catalyst app
 
 
Q