Estoy intentando publicar una aplicación firmada, pero al descargarla a través de Internet, el controlador de acceso se queja:
Además, la página de ayuda dice que la aplicación ha sido manipulada:
Lo que en realidad no es cierto, aquí está mi procedimiento de firma / empaquetado:
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
Todo el procedimiento funciona sin problemas, y como puede ver, no cambio el paquete entre la firma y la creación del dmg.
Revisé todo este documento y creo que todo es correcto: enlace
Además, revisé todo en la sección Checking Gatekeeper Conformance
:
Comprobando el dmg:
$ spctl -a -t open --context context:primary-signature -v Steve.dmg
Steve.dmg: accepted
source=Developer ID
Utilizando 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
utilizando la herramienta 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
Y por último usando spctl
:
spctl -a -t exec -vv Steve.app
Steve.app: accepted
source=Developer ID
origin=Developer ID Application: Nanolive SA (GMLD8K8WH3)
La línea de comandos me dice que todo es 100% correcto, pero aún no puedo iniciar la aplicación desde la interfaz de usuario porque me falta algo, en algún lugar, que la línea de comandos no me dice.
Tenga en cuenta que cuando omito la cuarentena mediante la línea de comandos, la aplicación se inicia correctamente, lo que implica que no me falta ninguna biblioteca, por lo que sé.
El servidor de compilación ejecuta OSX High Sierra 10.13.6
¡Gracias por su tiempo y ayuda!