Apple dice che sto firmando un'app con la vecchia versione del sistema operativo, e non lo sono

2

Sto tentando di inviare un'app per Java all'App Store. Dopo aver avuto i peggiori mal di testa nella mia vita cercando di firmare tutto il mio ultimo problema (spero!) È questo:

Invalid code signature - Signatures created with OS X version 10.8.5 or earlier [v1 signatures] are obsoleted and will no longer be recognized by Gatekeeper beginning with OS X version 10.9.5. To ensure your apps will run on updated versions of OS X they must be signed on OS X version 10.9 or later [v2 signatures]. For more information, see OS X Code Signing In Depth

Non capisco questo messaggio perché:

1) Sto utilizzando una versione 10.10.1

$ sw_vers -productVersion 
10.10.1

2) e la mia app è firmata con le firme della versione 2

$ codesign -dv MyApp.app
Executable=/Users/jess/git/MyApp.app/Contents/MacOS/JavaAppLauncher
Identifier=com.myapp
Format=bundle with Mach-O thin (x86_64)
CodeDirectory v=20200 size=286 flags=0x0(none) hashes=5+5 location=embedded
Signature size=4351
Signed Time=20/2/2015 16:31:42
Info.plist entries=20
TeamIdentifier=D38HW9S49C
Sealed Resources version=2 rules=12 files=15
Internal requirements count=1 size=204

(Puoi vedere la riga che dice Versione Sealed Resources = 2 rules = 12 files = 15 )

Quindi, qual è il problema? Cosa mi manca?

Grazie

    
posta FlamingMoe 20.02.2015 - 16:46
fonte

1 risposta

1

L'ho trovato ... So che questa risposta sembra pazzesca, ma è la soluzione.

Quando impacchetti l'app, la cartella YourApp.app/Contents/PlugIns/jdk1. {your_version} .jdk / Contents / scompare, quindi devi solo recuperarla dal JDK home, e il pacchetto "andrà bene" ad Apple.

cp -r /Library/Java/JavaVirtualMachines/jdk1.{your_version}/Contents/MacOS YourApp.app/Contents/PlugIns/jdk{your_version}.jdk/Contents/

E funziona!

Grazie Apple per un messaggio così chiaro :-P

    
risposta data 20.02.2015 - 17:07
fonte

Leggi altre domande sui tag