ios - signal - El comando Xcode/usr/bin/codesign falló con el código de salida 1: errSecInternalComponent
codesign errsecinternalcomponent (9)
Estoy intentando agregar un nuevo perfil de aprovisionamiento a mi Xcode para probar una aplicación en el dispositivo. Aquí están los pasos que seguí:
Eliminado todos los certificados y perfiles de aprovisionamiento.
Crear / Agregar certificado de desarrollo de IOS
Agregar mi dispositivo IOS en línea
Crear perfil de aprovisionamiento de IOS
Añadir perfil de aprovisionamiento de IOS
Aplicación limpia
Construye y ejecuta la aplicación
Configurar el diseño de aprovisionamiento nd de Codesigning en la configuración de compilación
Un montón de googlear> a ningún éxito
Aquí está el error que recibo:
CSSM_SignData returned: 800108E6
/Users/alexpelletier/Library/Developer/Xcode/DerivedData/MyExpense-efnqzvoqwngzcmazaotyalepiice/Build/Products/Debug-iphoneos/MyExpense.app: errSecInternalComponent
Command /usr/bin/codesign failed with exit code 1
En caso de que ayude a alguien más, encontré un error errSecInternalComponent
con codesign
porque lo estaba ejecutando durante una sesión ssh en mi máquina macOS. Ejecutar el mismo comando desde una ventana de terminal en la máquina macOS funcionó.
Presumiblemente, esto se debe a que codesign
necesita acceso a la clave privada desde el llavero de inicio de sesión.
La ejecución de security unlock-keychain login.keychain
(como se explica en la respuesta de cbracken ) desde la misma sesión también debería funcionar.
Esto ocurre cuando el llavero de inicio de sesión está bloqueado. Para desbloquear el llavero de inicio de sesión, ejecute:
security unlock-keychain login.keychain
Luego intente la operación de compilación o firma de código nuevamente. El código de error en cuestión se describe en los documentos de Apple como un error interno, por lo que es totalmente posible que esto ocurra también en otros casos.
He encontrado el mismo problema, reinicio mi macOS y funciona.
En China, tenemos un dicho entre los desarrolladores:
Pequeños problemas, solo reinicie. Grandes problemas, debe reinstalar.
A veces, el dicho anterior te ayudará mucho!
Parece un error en el mecanismo de firma de código, reiniciar tu mac debería resolver el problema
Si intentas firmar desde el comando ssh run:
security unlock-keychain login.keychain
antes de intentar firmar paquete de aplicaciones
o desde la interfaz de usuario
Actualizar el control de acceso clave para "Permitir que todas las aplicaciones accedan a este elemento"
Gracias a @Equilibrium y @Jon McClung
Solo inténtalo una vez usando mac terminal pero no desde la sesión ssh
security unlock-keychain login.keychain
Y elija siempre permitir en el diálogo indicado. Y luego podrías xcodebuild en la sesión remota.
Tuvo el mismo problema en High Sierra
/ Xcode 9.4.1
, todos los intentos de firma finalizaron en errSecInternalComponent
- Ir a Acceso Llavero
- Ir al llavero de inicio de sesión
- Seleccione la categoría "Mis Certificados"
- Encuentre el certificado con el que está firmando y amplíelo para ver la clave.
- Haga doble clic en la tecla.
- Ir a la pestaña "Control de acceso".
- Actualizar el control de acceso clave para "Permitir que todas las aplicaciones accedan a este elemento"
Alternativamente:
ejecute el comando codesign en el terminal mac y "Permitir siempre" / usr / bin / codesign acceda a la tecla
Si intentas firmar desde ssh / CI también necesitas ejecutar
security unlock-keychain login.keychain
antes de intentar firmar paquete de aplicaciones
Vaya a Acceso a llavero -> Alternar una vez el ícono de bloqueo / desbloqueo para iniciar sesión -> Mantenerlo en estado de desbloqueo -> Esto solucionó mi problema