continuous-integration teamcity xcode8 xcodebuild

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:

  1. Copie Xcode de la carpeta Aplicaciones a otra ubicación
  2. Elimine la copia que queda en Aplicaciones y asegúrese de que no queden copias de Xcode
  3. Mueva la copia del paso 1 a la carpeta Aplicaciones
  4. 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.