Can't post application to appstore

every time i am trying to post my application to appstore I got this message:

ITMS-90338: Non-public API usage - The app references non-public selectors in XXXX: setNavigationBar:. 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/

I search inside my code and my 3rd party libraries about setNavigationBar and navigationbar = but i didn't find any matched results.

i tryed to exported the application build and i searched inside the exported build abdout setNavigationBar and found one result in but couldn't find any details about location or file that generated this.

what to do?

Answered by yasser farrag in 815831022

Finally, I found the solution of my problem, one of my old classes had variable called:

@IBOutlet weak var navigationBar: UINavigationBar!

I implemented this class in 2020, but this error appears now!!

Anyway, I modified the name to "theNavigationBar" and uploaded my build successfully.

found one result in but couldn't find any details about location or file that generated this

Post some more info about what you found and someone might be able to help you work back to the responsible source file or library.

Some possibly-related threads: https://developer.apple.com/forums/thread/733475 https://developer.apple.com/forums/thread/748621

i exported build of my project, converted .ipa file to .zip file then I extracted this file. i used command line "grep" to search inside the extracted file:

grep -ro "setNavigationBar" i got these results: Binary file ./Payload/XXXX.app/XXXX matches Binary file ./Symbols/CB37D645-5EAA-3DEB-BFCF-208DB15D41B7.symbols matches

i tried to display contents of these binary files but i couldn't

Accepted Answer

Finally, I found the solution of my problem, one of my old classes had variable called:

@IBOutlet weak var navigationBar: UINavigationBar!

I implemented this class in 2020, but this error appears now!!

Anyway, I modified the name to "theNavigationBar" and uploaded my build successfully.

@IBOutlet weak var navigationBar: UINavigationBar!

Good, I'm glad you found it!

My practice has always been to use a different capitalisation/punctuation style than Apple, to avoid this. For example in this case I would have called it navigation_bar. This has been a reliable way to avoid problems.

Can't post application to appstore
 
 
Q