continuous integration - ¿Cómo puedo solucionar esta advertencia? CoreSimulator está intentando descargar un trabajo CoreSimulatorService obsoleto
continuous-integration teamcity (2)
Se encontró el mismo problema y se resolvió con los siguientes pasos:
- Copie Xcode de la carpeta Aplicaciones a otra ubicación
- Elimine la copia que queda en Aplicaciones y asegúrese de que no queden copias de Xcode
- Mueva la copia del paso 1 a la carpeta Aplicaciones
- Máquina reiniciada
Parece que no se está estableciendo algún valor, ya que Xcode no se está instalando a través de la tienda de aplicaciones.
Tengo una advertencia en mi registro de construcción en teamcity. He actualizado Xcode en mi servidor CI de 7.3.1 a 8. El paso se ejecutó correctamente pero tengo esto:
[Step 3/3] Starting: /Users/teamcity/local/teamcity-build-agent/temp/agentTmp/custom_scriptxxxxxxx
[Step 3/3] in directory: /Users/teamcity/local/teamcity-build-agent/work/yyyy
[Step 3/3] 2016-10-11 09:04:41.706 xcodebuild[18180:5010256] CoreSimulator is attempting to unload a stale CoreSimulatorService job. Detected Xcode.app relocation or CoreSimulatorService version change. Framework path (/Applications/Xcodes/Xcode_8.0.app/Contents/Developer/Library/PrivateFrameworks/CoreSimulator.framework) and version (303.8) does not match existing job path (/Applications/Xcodes/Xcode-7.3.1.app/Contents/Developer/Library/PrivateFrameworks/CoreSimulator.framework/Versions/A/XPCServices/com.apple.CoreSimulator.CoreSimulatorService.xpc) and version (209.19).
[Step 3/3] 2016-10-11 09:04:41.961 xcodebuild[18180:5010256] Failed to locate a valid instance of CoreSimulatorService in the bootstrap. Adding it now.
¿Cómo puedo solucionar esta advertencia?
Tuve el mismo problema. Tenía que ejecutar tanto Xcode 7 (para compilar la versión antigua) como Xcode 8 (para construir la rama de desarrollo actual) en mi servidor Jenkins y tuve el problema todo el tiempo.
Solución:
launchctl remove com.apple.CoreSimulator.CoreSimulatorService || true
Esto sucede porque, incluso si sale de la aplicación del simulador, el servicio todavía se está ejecutando. El comando anterior es necesario para eliminar el servicio llamado com.apple.CoreSimulator.CoreSimulatorService
. El || true
|| true
es evitar el error cuando ese servicio no se está ejecutando.