javafx-gradle-plugin icon indicating copy to clipboard operation
javafx-gradle-plugin copied to clipboard

ERROR ITMS-90511: CFBundleIdentifier value of 'com.oracle.java.8u152.jdk' in use

Open ctadlock opened this issue 7 years ago • 7 comments

image

image

Unable to upload an app to the Mac store

	/var/folders/p5/9w91l_cx5ysd75lt4zn33w7r0000gn/T/65C74261-E39C-422F-9C50-91A0C28B6D6C/1396733720.itmsp - Error Messages:
		ERROR ITMS-90511: "CFBundleIdentifier Collision. The Info.plist CFBundleIdentifier value 'com.oracle.java.8u152.jdk' of 'GoToTags.app/Contents/PlugIns/Java.runtime' is already in use by another application."

This seems to be an issue external to this plugin, but how can we work around this issue with this plugin? Is there a way to modify the value as a part of the task?

Reference Links

  • https://stackoverflow.com/questions/34613483/itms-90511-cfbundleidentifier-collision
  • https://stackoverflow.com/questions/44416738/publish-java-app-to-mac-store
  • https://stackoverflow.com/questions/29608264/error-itms-90451-cfbundleidentifier-collision-error

ctadlock avatar Jun 09 '18 19:06 ctadlock

Hm, not really anything I can solve within this plugin, as this issue is inside the used JDK/the JDK-provided javapackager.

The Info.plist is created from a template, where some parts are replaced, see the template here: http://hg.openjdk.java.net/openjfx/8u-dev/rt/file/a17798f5e35c/modules/fxpackager/src/main/resources/com/oracle/tools/packager/mac/Info-lite.plist.template It may be that your application is using a different template-file: http://hg.openjdk.java.net/openjfx/8u-dev/rt/file/a17798f5e35c/modules/fxpackager/src/main/resources/com/oracle/tools/packager/mac/Info.plist.template

As this template is part of the internal overridable resource files, it is possible to "replace" this. Just copy the template from the website, replace the parts you need to fix/modify while leaving other parts and put it into a special location: src/main/deploy/package/macos/Info.plist.

Please turn on verbose-mode to verify this file gets picked up, there should be some output that this file is processed.

I'm not having a native MacOS-device, and more a windows- & linux-guy, makes it really hard to give you any better hint, but good luck for finding a way 👍

FibreFoX avatar Jun 09 '18 20:06 FibreFoX

@FibreFoX It's not my app's Info.plist, its the embedded JRE's Info.plist file. This SO question/answer describes the solution: https://stackoverflow.com/questions/34613483/itms-90511-cfbundleidentifier-collision

Couldn't this plugin make the suggested change to CFBundleIdentifier from com.oracle.java.8u65.jdk to com.oracle.java.8u65.jdk.XXX, where XXX is a random value? Would that have an implication on signing?

image

ctadlock avatar Jun 10 '18 06:06 ctadlock

The other solution is to copy the JRE "locally", modify it's Info.plist and then point the runtime parameter at it. Again, this seems like something the plugin could handle.

To be clear on the scope of this problem, no app can be published to the Mac app store until this issue is resolved.

ctadlock avatar Jun 10 '18 06:06 ctadlock

It's not my app's Info.plist, its the embedded JRE's Info.plist file. Hehe, I totally missed the path that its the JRE, sorry. But it makes it even more ugly, because it means that this bug is inside the JDK itself, not this plugin. As a workaround you already got the right idea of using the runtime-parameter. Please consider reporting this to oracle via https://bugs.java.com/

This plugin is just a wrapper around the javapackager, which means this bug is inside the JDK itself.

FibreFoX avatar Jun 10 '18 15:06 FibreFoX

Ya, its nasty. Ive tried setting the runtime parameter but when I do it seems to silently fail the whole process; nothing generated, no signing... Any ideas?

ctadlock avatar Jun 11 '18 03:06 ctadlock

Did you use verbose-mode?

FibreFoX avatar Jun 11 '18 17:06 FibreFoX

Yes, nothing interesting.

ctadlock avatar Jun 15 '18 19:06 ctadlock