La aplicación no se puede abrir porque es de un desarrollador no identificado

9

Pregunta:

Antes de leer esto, ten en cuenta que: "Dígales que vayan a System preferences > Security & privacy y allow 3rd party applications to run . No es una solución aceptable para este problema.

He creado un .app que se ha firmado con un certificado válido de desarrollador de Mac. Sin embargo, descargándolo de internet y amp; todavía se ejecuta el aviso de seguridad:

  

La aplicación no se puede abrir porque es de un desarrollador no identificado

Este es el volcado de terminal codesign -vvv para el .app :

Executable=/Users/me/Desktop/ADRA.app/Contents/MacOS/ADRA
Identifier=unity.Company.ADRA NSW 2016
Format=app bundle with Mach-O thin (i386)
CodeDirectory v=20200 size=178145 flags=0x0(none) hashes=5561+3 location=embedded
Hash type=sha256 size=32
CandidateCDHash sha1=79ecf88721d6387749c1f6b10355c3683ef20eb2
CandidateCDHash sha256=0799e968a18a663a0c08d26d3fb7826017ce5a3a
Hash choices=sha1,sha256
CDHash=0799e968a18a663a0c08d26d3fb7826017ce5a3a
Signature size=4739
Authority=3rd Party Mac Developer Application: Company Pty Ltd (NH73TNDB28)
Authority=Apple Worldwide Developer Relations Certification Authority
Authority=Apple Root CA
Signed Time=20 Apr 2017, 2:46:12 PM
Info.plist entries=14
TeamIdentifier=NH73TNDB28
Sealed Resources version=2 rules=12 files=138
Internal requirements count=1 size=224

No entiendo por qué esto no pasa Gatekeeper? ¿Hay algo que falta? ¿Apple requiere algo más?

Actualización 1:

@TheDarkKnight ha sugerido que estoy utilizando el certificado incorrecto para firmar el .app . Parece que son correctos, así que fui a crear un nuevo Developer ID Application certificate pero aparentemente porque no soy un 'Agente' en la cuenta de grupo, entonces tengo que esperar hasta que el 'Agente' cree uno para mí - parece al revés , ¿no hay otra manera de esperar a que el 'Agente' haga esto por mí?

  

(en Xcode) Si el botón de opción "ID de desarrollador" está desactivado, es probable que tenga una cuenta de grupo. Estos tipos de cuentas solo permiten que la función "Agente" cree ID de desarrollador. Póngase en contacto con la persona que creó su cuenta de desarrollador de Apple de grupo si se queda atascado aquí.

enlace

Actualización 2:

Así que finalmente obtuve mi nuevo certificado hoy, volví a firmar el .app , lo descargué desde el servidor ejecutado y TODAVÍA TIENE EL MENSAJE DE ERROR . La autoridad parece ser correcta ahora:

Executable=/Users/me/Downloads/ADRA.app/Contents/MacOS/ADRA
Identifier=com.company.adra
Format=app bundle with Mach-O thin (i386)
CodeDirectory v=20200 size=178133 flags=0x0(none) hashes=5561+3 location=embedded
Library validation warning=OS X SDK version before 10.9 does not support Library Validation
OSPlatform=36
OSSDKVersion=657408
OSVersionMin=656896
Hash type=sha256 size=32
CandidateCDHash sha1=90d2a54162d6d018bf4f7602d7707c8e8e522fc6
CandidateCDHash sha256=dadfe5203d1367ea776f9501025dbd4ce751ee30
Hash choices=sha1,sha256
Page size=4096
CDHash=dadfe5203d1367ea776f9501025dbd4ce751ee30
Signature size=8930
Authority=Developer ID Application: Company Pty Ltd (NH73TNDB28)
Authority=Developer ID Certification Authority
Authority=Apple Root CA
Timestamp=10 May 2017, 3:36:51 pm
Info.plist entries=14
TeamIdentifier=NH73TNDB28
Sealed Resources version=2 rules=12 files=138
Internal requirements count=1 size=184

Sólo estoy firmando el .app ¿hay algo más que deba hacer para que esto funcione? ¿Hay un período de tiempo que deba esperar antes de que esto funcione?

Actualización 3:

Ahora, casi un mes después de la Actualización 2, este problema sigue apareciendo y, por lo tanto, ha otorgado una recompensa.

    
pregunta Zze 20.04.2017 - 07:48

1 respuesta

6

Hablando en términos generales, al distribuir aplicaciones fuera de la App Store de Mac, debe:

  1. Establezca la identidad de firma en ID de desarrollador
  2. Crea tus certificados de ID de desarrollador
  3. Crea tu aplicación Archive
  4. Valida tu aplicación
  5. Exportar una aplicación de ID de desarrollador
  6. Firme el paquete del instalador (no aplicable en su caso)
  7. Pruebe el comportamiento de la aplicación con Gatekeeper habilitado y nuevamente con Gatekeeper deshabilitado

Resolver problemas como este puede ser complicado porque es fácil hacer suposiciones acerca de cuánto sabe el OP (en este caso), etc. Después de leer su pregunta, voy a asumir que los primeros tres pasos se han completado. .

Entonces, comencemos por una doble comprobación de cómo estás validando tu aplicación.

Valide su aplicación

Para validar una aplicación firmada con ID de desarrollador, sigue estos pasos:

  1. En Xcode vaya a Producto > Archivo
  2. Aparecerá la ventana del organizador de archivos
  3. Seleccione el archivo para la aplicación en cuestión
  4. Haga clic en el botón Validar
  5. Aparece un cuadro de diálogo que le pide que seleccione un método para validación
  6. Seleccione la opción Validar una aplicación firmada con ID de desarrollador
  7. Haga clic en Siguiente
  8. En la siguiente ventana, seleccione un equipo del menú emergente
  9. Haz clic en Elegir
  10. Haz clic en el botón Validar

Esto identificará cualquier problema de validación. Si encuentra alguno, este será su problema (o al menos parte de él), por lo que deberá resolverlo.

Si no se encuentran problemas, continúe a continuación.

Exportar una aplicación con ID de desarrollador

  1. Aún dentro de la ventana del organizador de Archivos, seleccione el archivo para la aplicación en cuestión
  2. Haz clic en el botón Exportar
  3. Aparece un cuadro de diálogo que le pide que seleccione un método para exportar
  4. Seleccione la opción Exportar una aplicación firmada con ID de desarrollador
  5. Haga clic en Siguiente
  6. En la siguiente ventana, seleccione un equipo del menú emergente
  7. Haz clic en Elegir
  8. Haz clic en el botón Exportar

Una vez que se exporte su aplicación, debería probar con Gatekeeper habilitado y nuevamente con Gatekeeper deshabilitado.

    
respondido por el Monomeeth 01.06.2017 - 06:57

Lea otras preguntas en las etiquetas