21 votos

¿Por qué puedo ejecutar mi propia aplicación sin firmar el código?

Tengo una pequeña aplicación Qt de código abierto que escribí y luego compilé en mi Mac. He ejecutado macdeployqt y lo he copiado en mi carpeta /Applications, y se ejecuta sin rechistar.

En última instancia, planeo firmar esta aplicación con un certificado de desarrollador de Apple y subirla a GitHub como una versión binaria. Pero mi pregunta es: ¿por qué puedo ejecutar esta aplicación localmente desde /Applications sin que MacOS se queje, aunque todavía no la haya firmado? ¿Se debe esto a algún atributo o permiso especial que ha sido establecido en el binario de la aplicación por el compilador del sistema? Si es así, ¿cómo puedo ver este atributo por mí mismo?

28voto

Steve Evans Puntos 155

com.apple.quarantine

La aplicación construida localmente no tiene el quarantine conjunto de atributos. Sin este atributo de archivo extendido, la aplicación se salta el Gatekeeper de MacOS y los pasos de verificación.

El quarantine se establece cuando la aplicación se descarga o se copia en el ordenador.

Pruebe a subir una copia comprimida de su aplicación a un servidor web y luego descargar el archivo. Tras descargar y expandir la aplicación, MacOS aplicará ahora Gatekeeper y verificará el contenido.

Ver ¿Cómo establecer (restaurar) el atributo com.apple.quarantine?

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X