Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8021582

Apple rejects deployed application as it's using non-public API



    • 7u6
    • b101
    • x86
    • os_x
    • Not verified



        This was filed through JavaFX JIRA but since the issue is in JDK and not JavaFX I'm re-filing in JBS.

        Original report:

        While sending packager-deployed test application to Mac App Store, I met some issue with non-public API, which is prohibited by Mac App Store rules.
        When I submit application with Application Loader it passes all the validation checks, then it's going to be hand-checked by Apple. Here is the failure. The report from Apple is:


        The use of non-public APIs can lead to a poor user experience should these APIs change in the future, and is therefore not permitted. The app includes _CFBundleFlushBundleCaches from the framework '/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation'.

        If you have defined a method in your source code with the same name as this API, we suggest altering your method name so that it no longer collides with Apple's private API to avoid your application being flagged in future submissions.

        Alternatively, this API may reside in a library included with your application. If you do not have access to the library's source, you may be able to search the compiled binary using "strings" or "otool" command line tools. The "strings" tool can output a list of the methods that the library calls and "otool -ov" will output the Objective-C class structures and their defined methods. These techniques can help you narrow down where the problematic code resides.

        This bug blocks submitting to App Store.


          Issue Links



                ddehaven David Dehaven (Inactive)
                ddehaven David Dehaven (Inactive)
                0 Vote for this issue
                5 Start watching this issue