Sto provando a pubblicare un'applicazione firmata, ma quando lo scarico tramite internet, il gatekeeper si lamenta:
Inoltre, la pagina di aiuto dice che l'app è stata manomessa:
Che in realtà non è vero, ecco la mia procedura di firma / imballaggio:
codesign --deep --force --verify -s "Developer ID Application: Nanolive SA (GMLD8K8WH3)" Steve/Steve.app
hdiutil create -volname Steve -srcfolder Steve -ov -format UDZO Steve.dmg
codesign -s "Developer ID Application: Nanolive SA (GMLD8K8WH3)" Steve.dmg
L'intera procedura funziona senza problemi e, come puoi vedere, non cambio il pacchetto tra la firma e la creazione del dmg.
Ho esaminato l'intero documento e penso che tutto sia corretto: link
Inoltre, ho esaminato tutto nella sezione Checking Gatekeeper Conformance
:
Controllo di dmg:
$ spctl -a -t open --context context:primary-signature -v Steve.dmg
Steve.dmg: accepted
source=Developer ID
Uso del codesign:
$ codesign --verify --deep --strict --verbose=2 Steve.app
--prepared:/Volumes/Steve/Steve.app/Contents/MacOS/ffmpeg
--validated:/Volumes/Steve/Steve.app/Contents/MacOS/ffmpeg
<snip a lot of validated libs>
--prepared:/Volumes/Steve/Steve.app/Contents/Frameworks/libvtkRenderingAnnotation-7.1.1.dylib
--validated:/Volumes/Steve/Steve.app/Contents/Frameworks/libvtkRenderingAnnotation-7.1.1.dylib
Steve.app: valid on disk
Steve.app: satisfies its Designated Requirement
utilizzando lo strumento check-signature
:
$ /Volumes/Signature\ Check/check-signature Steve.app
(c) 2014 Apple Inc. All rights reserved.
YES
$ /Volumes/Signature\ Check/check-signature Steve.app/Contents/Frameworks/*
(c) 2014 Apple Inc. All rights reserved.
Steve.app/Contents/Frameworks/QtConcurrent.framework: YES
<snip a lot of YES>
Steve.app/Contents/Frameworks/qwt: YES
E infine utilizzando spctl
:
spctl -a -t exec -vv Steve.app
Steve.app: accepted
source=Developer ID
origin=Developer ID Application: Nanolive SA (GMLD8K8WH3)
La riga di comando mi dice che tutto è corretto al 100%, ma non riesco ancora a lanciare l'app dall'interfaccia utente perché mi manca qualcosa, da qualche parte, che la riga di comando non mi dirà.
Tieni presente che quando ignoro la quarantena utilizzando la riga di comando, l'app si avvia correttamente, il che implica che non ho alcuna libreria mancante per quanto ne so.
Il build server esegue OSX High Sierra 10.13.6
Grazie per il tuo tempo e il tuo aiuto!