0 votos

Firmado pero aún no se puede abrir

Un colega mío ha firmado una aplicación en la que estamos trabajando. Al intentar abrirla desde el finder, me aparece un mensaje de error

"'Nombre'" no se puede abrir porque es de un desarrollador no identificado

(o su traducción local). En la consola leo

CoreServicesUIAgent[‹pid›]: Error -60005 creating authorization

Pero si ejecuto codesign en el código, parece comprobarlo sin problemas:

$ codesign -vv .
.: valid on disk
.: satisfies its Designated Requirement

Así que parece que el paquete se firmó correctamente. Para obtener más detalles:

$ codesign -dvv .
Executable=…
Identifier=…
Format=app bundle with Mach-O universal (i386 x86_64)
CodeDirectory v=20200 size=440 flags=0x0(none) hashes=8+3 location=embedded
Signature size=4731
Authority=3rd Party Mac Developer Application: ‹Name› (‹TeamID›)
Authority=Apple Worldwide Developer Relations Certification Authority
Authority=Apple Root CA
Signed Time=21.07.2016, ‹Time›
Info.plist entries=25
TeamIdentifier=‹TeamID›
Sealed Resources version=2 rules=12 files=1164
Internal requirements count=1 size=208

Así que desde el Authority= líneas concluiría que la cadena de certificados podría ser verificada también, y sí conduce de vuelta a Apple. ¿Cómo es eso "no identificado"?

Desde este puesto Aprendí sobre spctl pero tampoco aporta mucha información:

$ spctl --assess -vvvv .
.: rejected
origin=3rd Party Mac Developer Application: ‹Name› (‹TeamID›)

¿Cómo puedo obtener más información sobre por qué exactamente ¿la aplicación no se carga?

1voto

MvG Puntos 259

Al formular la pregunta, probé varias combinaciones de palabras clave y finalmente encontré Diferencia entre "Mac Developer" y "3rd Party Mac Developer Application" en Stack Overflow, lo que llevó a la documentación de los desarrolladores en Mantenimiento de los certificados que a su vez escribe esto:

  • Tipo: Distribución de aplicaciones para Mac:
    Nombre: 3rd Party Mac Developer Application: Team Name
    Descripción: Se utiliza para firmar una aplicación de Mac antes de enviarla a la Mac App Store.

  • Tipo: Aplicación de ID de desarrollador:
    Nombre: Developer ID Application: Team Name
    Descripción: Se utiliza para firmar una aplicación de Mac antes de distribuirla fuera de la Mac App Store.

Así que, aparentemente, esta forma de firmar el código sólo es adecuada para su presentación en la App Store, pero no para su distribución autónoma. Esto me llevó bastante tiempo, así que espero que estas preguntas y respuestas ayuden a otros a evitar ese tiempo.

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