The same app has already been approved twice before but after some changes like set the image view and submitting the app again, Apple rejected my app for following errors:<
Run otool on the excutable.
Go to the build directory:
AppName/build/AppName.build/Release-iphoneos/AppName.build/Objects-normal/armv6/
and run
strings AppName | grep ‘setResult' to know which framework used that particular method.
The last time I encountered this was because of a namespace collision between methods in my code and private methods in the Cocoa API. You can also use grep
to find out exactly where you're using those selectors:
grep -R 'setResult:' *
I had the same situation with you. Now, the app is ready for sale. I hope I will help you to solve that problem.
"Your app uses or references the following non-public APIs: cancelAction:, defaultInstance "
My solved Steps:
(1) grep -R 'defaultInstance' *
the CrashReporterSDK matches so i remove it .
(2) grep -R 'cancelAction:' * it matches some project function names. I also resolve them.
(3) I suggest that before using "grep -R", you should remove the project's "build document files", so "grep -R" will give us more useful information.
finished
If you don't find the reference by searching your project, the issue is most likeley in a compiled third party library. You can use "nm " to list symbols in compiled libraries.
One of my apps was rejected by the exact same cause. I updated my project with the latest Facebook SDK (at this time 4.15.1), and the app passed the review.
If you need check in your application only go to your project directory path in terminal and try below command.
grep -R 'setResult:' .