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

JavaFX Applications that bundle Java 1.8.0_92 are rejected from the Mac App Store

    Details

    • Subcomponent:
      web
    • CPU:
      x86
    • OS:
      os_x

      Description

      A DESCRIPTION OF THE REQUEST :
      ```
      From Apple
      2.5 - Apps that use non-public APIs will be rejected
      2.5

      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 following non-public APIs are included in your application:

      From framework'/usr/lib/libicucore.A.dylib':

      ubrk_getRuleStatus
      ubrk_setUText
      ucnv_getCanonicalName
      ucnv_reset
      ucol_strcollIter

      If you have defined methods in your source code with the same names as the above-mentioned APIs, we suggest altering your method names so that they no longer collide with Apple's private APIs to avoid your application being flagged in future submissions.

      Additionally, one or more of the above-mentioned APIs 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.

      If you are unable to reproduce this issue, ensure you are testing the exact version of the app that you submitted for review, and that you're doing so in a minimally privileged environment. See Technical Q&A QA1778: How to reproduce bugs reported against Mac App Store submissions.

      For information on how to symbolicate and read a crash log, please see Technical Note TN2123 - CrashReporter.
      ```

      JUSTIFICATION :
      Submitting Java applications to the Mac App Store requires them to bundle the JRE binaries, which means the JRE binaries can't use non-public APIs.


      CUSTOMER SUBMITTED WORKAROUND :
      A bundle with 1.8.0_74 works (assuming the QuickTime libraries have been removed, because they get flagged for similar issues).

        Issue Links

          Activity

          Hide
          kcr Kevin Rushforth added a comment -
          Based on the additional information, this is not a javapackager bug, but is a duplicate of JDK-8138652.
          Show
          kcr Kevin Rushforth added a comment - Based on the additional information, this is not a javapackager bug, but is a duplicate of JDK-8138652 .

            People

            • Assignee:
              ghb Guru Hb
              Reporter:
              webbuggrp Webbug Group
            • Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: