macos - nube - dropbox
¿Por qué de repente todas mis aplicaciones comenzaron a fallar con un EXC_CRASH(Código de firma no válido) después de compartir una de ellas a través de un servicio en la nube? (1)
Básicamente, descubrí que la razón por la que sucedía esto es porque si intenta distribuir sus aplicaciones directamente en una carpeta compartida a través de un servicio en la nube, Apple puede revocar su certificado de Desarrollador de Mac. Determiné esto ejecutando el siguiente comando en mis aplicaciones:
spctl -a -v path/to/my/app
Y he aquí, tengo este resultado:
path/to/my/app: CSSMERR_TP_CERT_REVOKED
Mi solución fue ir a mi cuenta de desarrollador y hacer clic en el botón Revocar para eliminar este certificado de lista negra y luego crear uno nuevo como se indica en el sitio.
Afortunadamente, las versiones anteriores de mi aplicación no se vieron afectadas, ya que habían sido firmadas por un certificado anterior. Sin embargo, prepárese para recibir muchas quejas y para decirles a sus usuarios que vuelvan a descargar una aplicación resignada si las aplicaciones que ya se han distribuido a sus clientes están firmadas por un certificado revocado. Se matarán en el lanzamiento con esta excepción EXC_CRASH. Simplemente dígale a sus compañeros de trabajo que no tengan la idea "brillante" de distribuir rápidamente aplicaciones a través de un servicio en la nube. Puede terminar revocando su certificado de desarrollador de Mac.
Ayer, estaba trabajando en una nueva versión de mi aplicación. Para probarlo en otra computadora, lo arrastré y solté en una carpeta que se comparte entre algunas computadoras Mac que tengo a través de un servicio en la nube. Pensé que esta podría ser una forma acelerada de distribuir una aplicación para probarse en otra computadora que ejecute una versión anterior de macOS (10.11).
Lo primero que noté es que no pude iniciar mi última compilación en la computadora de prueba. Investigué y descubrí abriendo la carpeta .app que todos los ejecutables habían sido deshabilitados (parecían archivos de documentos simples en lugar de tener un ícono como el de Terminal). Ok, pensé, así que aparentemente no puedes compartir aplicaciones como esta. Siempre debe distribuirlos a través de una imagen de disco o un archivo zip, preferiblemente a través de una imagen de disco firmada si no lo está haciendo a través de la Mac App Store.
No pensé mucho en esto. Como tenía Xcode instalado en la máquina de prueba, que está en otra ubicación, reconstruí mi aplicación y todo funcionó como esperaba.
Sin embargo, cuando volví a casa e intenté volver a trabajar en mi aplicación, noté que uno de sus ayudantes comenzó a fallar en el lanzamiento con una EXC_CRASH (Code Signature Invalid)
. Luego intenté lanzar mi aplicación principal, y sucedió lo mismo. Intenté desinstalar la aplicación con mi desinstalador y sucedió lo mismo.
Entonces, mi pregunta es: ¿cómo podría ser esto? ¿Por qué todas mis aplicaciones comienzan a fallar cuando solo unos minutos antes de que funcionen bien?