Problema de empaquetado automático remoto de iOS
El problema encontrado es el siguiente: hay un servidor de compilación general, se ha escrito el script de empaquetado automático y la prueba local ha pasado. Es necesario llamar al script de empaquetado automático a través de Jenkins en este servidor de compilación. Completar la persistencia del trabajo integrado. Sin embargo, se informó el siguiente error durante el proceso de compilación:
/usr/bin/codesign --force --sign 5F99020C8E18342FDC41502FACD430C23B975430 --entitlements /Users/wsbg/Library/Developer/Xcode/DerivedData/WesaiPoker- doyqrrerzicjnzekyyrdbzcmjhju/ Build/Intermediates/ArchiveIntermediates/WesaiPoker/IntermediateBuildFilesPath/WesaiPoker.build/Release-iphoneos/WesaiPoker.build/WesaiPoker.app.xcent --timestamp=none /Users/wsbg/Library/Developer/Xcode/DerivedData/WesaiPoker-doy qrrerzicjnzekyyrdbzcmjhju /Construir /Intermedios/ArchiveIntermediates/WesaiPoker/InstallationBuildProductsLocation/Applications/WesaiPoker.app/Users/wsbg/Library/Developer/Xcode/DerivedData/WesaiPoker-doyqrrerzicjnzekyyrdbzcmjhju/Build/Intermediates/ArchiveIntermediates/WesaiPoker/InstallationBuildProducts Ubicación /Aplicaciones/WesaiPoker.app: desconocida error - 1=ffffffffffffffffCommand /usr/bin/codesign falló con el código de salida 1 ** ERROR DE ARCHIVO **
Solución de problemas
Solución de problemas 1: inicie sesión directamente en la máquina de compilación remota y ejecútelo el paquete manualmente No hay ningún problema con el script, lo que significa que no hay ningún problema con el script en sí. Después de leer el registro de errores de salida anterior, debería ser un problema de firma
Solución de problemas 2: inicie sesión en la máquina de compilación remota a través de ssh, ejecute el script de empaquetado e informe el mismo error, indicando que si el problema es resuelto a través de ssh, entonces Jenkins debería ser posible
Solución de problemas 3: busqué el comando /usr/bin/codesign falló con el código de salida 1 con la palabra clave ssh en Google y descubrí que muchas personas también encontraron esto problema. La misma herramienta de integración continua Fastlane tiene muchos [Problemas] similares. El principio general es que cuando sea necesario firmar el comando codesign, accederá al llavero para obtener el certificado correspondiente en el script de empaquetado. Al acceder a través de ssh, no hay permiso de acceso.
Solución de problemas 4: siga lo que hacen los internautas, agregue el comando security unlock-keychain -p contraseña /Users/username/Library/Keychains/Login.keychain
Donde la contraseña es su inicio de sesión. La contraseña de la cuenta actual de la máquina, el nombre de usuario es el nombre de la cuenta actual. En la última versión de Mac Sierra, no hay Login.keychain en Llaveros. El nuevo nombre se cambió a Login.keychain-db. Por lo tanto, debe crear un enlace suave ln -s ~/Library/Keychains/login.keychain-db ~. /Library/Keychains/login.keychain
Luego ejecute primero el comando anterior y luego ejecute el script de empaquetado para empaquetar de forma remota
Suplemento: dado que este desbloqueo no es permanente, cada vez que Para ejecutar el script de empaquetado, primero debe ejecutar el comando de desbloqueo y luego ejecutar el script de empaquetado.