Hallo,
zurzeit versuche ich mithilfe des javapackagers einen signierten Paket installer zu erstellen, um meine App im Mac Store veröffentlichen zu können. Bis jetzt bin ich so vorgegangen:
1. Die nötigen Zertfikate für die App und den Installer anfordern und in die Schlüsselverwaltung laden
2. das Icon mit allen nötigen Größen erstellen
3. Die entitlements Datei erstellen (ist nur eine Test app, daher nur sanbox):
4. PKG erstellen:
Soweit so gut ....
Das Erstellen verläuft fehlerfrei, wenn ich jetzt aber versuche, die App via ApplicationLoader hochzuladen, bekomme ich folgende Meldungen:
Laut diesem Video organisiert javapackager die Dateisignierung vollkommen alleine, daher ist der zweite Fehler sehr unverständlich, zumal ich auf diesen Prozess 0 Einfluss habe.
Generell gibt es sehr wenig Informationen zu diesem Thema, folgende Seiten habe ich bisher gefunden:
Danke.
Jan
zurzeit versuche ich mithilfe des javapackagers einen signierten Paket installer zu erstellen, um meine App im Mac Store veröffentlichen zu können. Bis jetzt bin ich so vorgegangen:
1. Die nötigen Zertfikate für die App und den Installer anfordern und in die Schlüsselverwaltung laden
2. das Icon mit allen nötigen Größen erstellen
3. Die entitlements Datei erstellen (ist nur eine Test app, daher nur sanbox):
Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.app-sandbox</key>
<true/>
</dict>
</plist>
4. PKG erstellen:
Code:
javapackager -deploy -srcFiles Test.jar -native mac.appStore -BsystemWide=true -title Titel -name Name -outdir /Users/mac/Desktop/ -outfile temp -BappVersion=1.0.0 -appclass app.example.main -Bidentifier=app.example.main -Bicon=/Users/mac/Desktop/App.icns -Bmac.app-store-entitlements-path=App.entitlements -Bmac.category=public.app-category.business
Soweit so gut ....
Das Erstellen verläuft fehlerfrei, wenn ich jetzt aber versuche, die App via ApplicationLoader hochzuladen, bekomme ich folgende Meldungen:
- ERROR ITMS-90511: "CFBundleIdentifier Collision. The Info.plist CFBundleIdentifier value 'com.oracle.java.8u131.jdk' of 'Name.app/Contents/PlugIns/Java.runtime' is already in use by another application."
- ERROR ITMS-90296: "App sandbox not enabled. The following executables must include the "com.apple.security.app-sandbox" entitlement with a Boolean value of true in the entitlements property list: [( "app.example.main.pkg/Payload/Name.app/Contents/MacOS/Name", "app.example.main.pkg/Payload/Name.app/Contents/PlugIns/Java.runtime/Contents/Home/jre/lib/jspawnhelper" )] Refer to App Sandbox page at https://developer.apple.com/devcenter/mac/app-sandbox/ for more information on sandboxing your app."
Laut diesem Video organisiert javapackager die Dateisignierung vollkommen alleine, daher ist der zweite Fehler sehr unverständlich, zumal ich auf diesen Prozess 0 Einfluss habe.
Generell gibt es sehr wenig Informationen zu diesem Thema, folgende Seiten habe ich bisher gefunden:
- http://speling.shemnon.com/blog/2014/04/10/getting-your-java-app-in-the-mac-app-store/ --> gleicher Fehler wie oben
- http://www.intransitione.com/blog/take-java-to-app-store/ --> AppBundler ist offziell nicht mehr verfügbar
Danke.
Jan