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!
ITMS-90338
1,571 results found
Post
Replies
Boosts
Views
Activity
We use some of LLVM's containers in our code...llvm/ADT/SmallVector.h for example. When trying to submit our app to the App Store, it gets rejected with:ITMS-90338: Non-public API usage - The app references non-public symbols in X-Plane: __ZN4llvm24DisableABIBreakingChecksE. 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/What gives, Apple? Are we not allowed to use open source code in our app? πIs there a way around this without having to search/replace every symbol that Apple's validator finds?
Hello,We contacted Apple Developer Support due to an automatic message we receive when trying to publish a new version of our appDear 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
Same here! the same problem is back: ITMS-90338: Non-public API usage - The app references non-public symbols in Frameworks/KallerUIFramework.framework/KallerUIFramework: _CMTimebaseCopyMaster, _CMTimebaseCreateWithMasterClock.
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. Any solution for this?? Thx!
Having same issue for a Xamarin app, even after upload. Two weeks ago was fine and now a lot of errors not only ITMS-90338: Non-public API usage. :((
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.
Seeing similar here, I am right now getting ITMS-90338: Non-public API usage because UIPrintInfo, UIPrintInteractionController are used, which is definitely ridiculous, both are public APIs under UIKit!
Having the same issue with flutter ITMS-90338: Non-public API usage - The app references non-public symbols in Frameworks/Flutter.framework/Flutter: _IOIteratorNext, _IOObjectRelease, _IORegistryEntryCreateCFProperties, _IORegistryEntryGetChildIterator, _IOServiceGetMatchingServices, _IOServiceNameMatching, _kIOMasterPortDefault.
Same issue here ITMS-90338: Non-public API usage - The app references non-public symbols in Contents/MacOS/ Flagged symbols: _AVCaptureDeviceSubjectAreaDidChangeNotification, _AVCaptureDeviceTypeBuiltInDualCamera, _AVCaptureDeviceTypeBuiltInDualWideCamera, _AVCaptureDeviceTypeBuiltInTelephotoCamera, _AVCaptureDeviceTypeBuiltInTripleCamera, _AVCaptureDeviceTypeBuiltInUltraWideCamera, _AVCaptureSessionPresetInputPriority
Hi, we were able to migrate our solution from Xamarin to MAUI (.net 8). After a 2 weeks fight, the app is finally working on my dev devices. Unfortunately, after sending the app to review, it gets rejected because of the following: ITMS-90338: Non-public API usage - The app references non-public symbols in [Our app name]: _SCDynamicStoreCreate, _SCDynamicStoreCreateRunLoopSource, _SCDynamicStoreKeyCreateNetworkServiceEntity, _SCDynamicStoreSetNotificationKeys. 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/ From what I understand, this is because the 4 methods (_SCDynamicStoreCreate, _SCDynamicStoreCreateRunLoopSourc
Also getting the same issue: ITMS-90338: Non-public API usage I was able to upload builds successfully a couple of days ago. Tried and failed to upload one today with minor changes...
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.
We have developed the iOS App using .NET MAUI, when we try to upload it to store, the binary is getting rejected with the following error, kindly suggest a solution for this. TMS-90338: Non-public API usage - The app references non-public symbols in : _ubrk_openRules, _ucal_add, _ucal_close, _ucal_get, _ucal_getAttribute, _ucal_getKeywordValuesForLocale, _ucal_getNow, _ucal_getTimeZoneDisplayName, _ucal_getTimeZoneIDForWindowsID, _ucal_getWindowsTimeZoneID, _ucal_open, _ucal_openTimeZoneIDEnumeration, _ucal_set, _ucal_setMillis, _ucol_close, _ucol_closeElements, _ucol_getOffset, _ucol_getRules, _ucol_getSortKey, _ucol_getStrength, _ucol_getVersion, _ucol_next, _ucol_open, _ucol_openElements, _ucol_openRules, _ucol_previous, _ucol_safeClone, _ucol_setAttribute, _ucol_setVariableTop, _ucol_strcoll, _ucurr_forLocale, _ucurr_getName, _udat_close, _udat_countSymbols, _udat_format, _udat_getSymbols, _udat_open, _udat_setCalendar, _udat_toPattern, _udata_setCommonData, _udatpg_close, _udatpg_getBestPattern,
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