I am trying to submit an application to Itunes connect with XCode. I get this:
Your app contains non public API usage. Please review the errors, correct them and resubmit your application. The app references non-public selectors in Payload/myapp.app/setSoundsEnabled:
What should I do?
I got the similar issue once. These errors take place because of the old SDK of some third party frameworks that implements "setSoundsEnabled" method. In order to remove these errors, you need to follow the following steps:
Open the terminal window. Run the following command:
cd (drag and drop your project folder here) Your_Project_Path
Now, the current working directory will be your project folder.
Find all the SDK that uses "setSoundsEnabled" method using following commands:
$ find . | grep -v .svn | grep "\.a" | grep -v "\.app" | xargs grep setSoundsEnabled
and
grep -lr "setSoundsEnabled" * | grep -v .svn | grep -v .md
After getting the list of frameworks, search for the frameworks that MATCHES the query. Upgrade those frameworks.
Re-validate the app.
Double check any third-party libraries you are using in your project
I was facing the issue and after checking my pods file, I found that Look Back - Framwork which is available for debug builds only as for as I know. So removing that fixed the issue. Successfully submitted app through Xcode 6.1 for Apple Testflight beta testing :)
来源:https://stackoverflow.com/questions/26340035/your-app-contains-non-public-api-usage-submit-app