iOS App Rejected : non-public APIs

后端 未结 5 954
醉话见心
醉话见心 2020-12-13 22:02

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:<

相关标签:
5条回答
  • 2020-12-13 22:54

    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.

    0 讨论(0)
  • 2020-12-13 22:56

    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:' *
    
    0 讨论(0)
  • 2020-12-13 23:02

    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

    0 讨论(0)
  • 2020-12-13 23:02

    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.

    0 讨论(0)
  • 2020-12-13 23:06

    If you need check in your application only go to your project directory path in terminal and try below command.

        grep -R 'setResult:' .
    
    0 讨论(0)
提交回复
热议问题