Saltar al contenido

CodeQL no puede rastrear compilaciones de Xcode 27 ni analizar Swift 6.4

GitHub dice que CodeQL no puede rastrear compilaciones en Xcode 27 ni analizar Swift 6.4 después de que Apple eliminara código Intel del que dependía. Su consejo: quedarse en Xcode 26 por ahora.

Por Tech AI Wire Team

3 min de lectura

XLinkedIn
An M4 Mac mini, Apple's small silver desktop computer with the Apple logo on top, on a wooden desk with a dark cable behind it.
Foto: Kyu3a / Wikimedia Commons, CC BY-SA 4.0

GitHub dijo el 19 de octubre de 2026 que CodeQL, su motor de análisis de código, no puede rastrear compilaciones hechas con Xcode 27 ni analizar código Swift 6.4 en ninguna plataforma. Para los equipos de iOS y Mac que ejecutan análisis de seguridad en su pipeline de compilación, pasar ahora a las herramientas más recientes de Apple significa perder parte de esos análisis hasta que GitHub publique el soporte.

Qué anunció GitHub

CodeQL es la herramienta que hay detrás del code scanning de GitHub. Convierte el código fuente de un proyecto en una base de datos y luego ejecuta consultas sobre ella para encontrar fallos de seguridad. En los lenguajes compilados, suele construir esa base de datos «rastreando» la compilación: observa el compilador mientras se ejecuta y registra cada archivo a medida que se compila.

Ese rastreo es lo que falla. A partir de macOS 27 y Xcode 27, Apple ya no incluye código Intel (x86_64) en algunos archivos del sistema de los que depende CodeQL, según el changelog de GitHub. Esos archivos son binarios y bibliotecas que CodeQL usa para rastrear compilaciones. El aviso lo dice sin rodeos: «CodeQL no puede admitir análisis con rastreo en estas versiones ni analizar Swift 6.4».

ConfiguraciónQué dice GitHub
Xcode 27 instaladoLa extracción con rastreo no está disponible para C/C++, C#, Go, Java, Kotlin ni Swift
macOS 27Es posible que la extracción con rastreo no esté disponible para los mismos seis lenguajes
Swift 6.4Sin soporte en ninguna plataforma
Mac con procesador IntelSoporte de CodeQL declarado obsoleto a mediados de diciembre de 2026

El changelog no da ninguna fecha para el soporte de Swift 6.4.

Por qué actualizar Xcode trae consigo Swift 6.4

El problema de Swift es difícil de evitar para un equipo que actualiza sus herramientas. La página de requisitos de Xcode de Apple enumera tres versiones actuales: Xcode 27, Xcode 27.1 y la beta 3 de Xcode 27.2. Las tres incluyen el compilador de Swift 6.4. Las tres necesitan un Mac con macOS Tahoe 26.6 o posterior.

Así que no existe ninguna versión de Xcode 27 que mantenga un compilador de Swift anterior. Pasar a Xcode 27 significa pasar a Swift 6.4, la versión que trajo async defer e hizo de Swift Build la opción por defecto. También significa perder el análisis de Swift de CodeQL. Eso importa para las apps que necesitan el propio Xcode 27. La versión candidata de Xcode 27.1, por ejemplo, es la que abrió el envío a la App Store de apps para iPhone Duo.

Las soluciones que propone GitHub

El aviso de GitHub enumera tres formas de mantener los análisis en marcha:

  • Fija las herramientas anteriores. Los flujos de trabajo que analizan Swift, o que dependen de compilaciones con rastreo, deben ejecutarse en macOS 26 o anterior con Xcode 26 o anterior.
  • Fija el runner y la toolchain. En GitHub Actions, define de forma explícita la imagen del runner y la versión de la toolchain, para que una actualización de imagen no pueda llevar un análisis a Xcode 27 sin aviso.
  • Evita el rastreo cuando sea posible. Para C/C++, C# y Java, usa el modo de compilación «none» de CodeQL. En ese modo, CodeQL lee directamente los archivos fuente en lugar de observar una compilación, así que el código Intel que falta no importa.

El aviso ofrece el modo de compilación «none» solo para esos tres lenguajes. Para Swift, su único consejo es quedarse en Xcode 26 o anterior.

Qué significa para los desarrolladores

El riesgo aquí es un análisis que sigue ejecutándose pero que, sin avisar, deja de cubrir tu código. Merece la pena hacer algunas comprobaciones esta semana:

  • Averigua en qué se ejecuta de verdad tu tarea de análisis. Si un flujo de trabajo de CodeQL usa una etiqueta de runner flotante en lugar de una imagen fijada, comprueba qué versiones de macOS y Xcode recibe hoy. Después fíjalas, como recomienda GitHub.
  • Lee los registros del análisis, no solo el resultado. Una marca de verificación verde significa que la tarea terminó. No demuestra que se analizaran los archivos Swift. Revisa el paso de extracción en el registro y confirma que tus fuentes Swift aparecen en él.
  • Separa la compilación del análisis. Los equipos que deben publicar con Xcode 27 pueden seguir compilando sus versiones con él. Pueden ejecutar la tarea de CodeQL por separado en un runner fijado con macOS 26 y Xcode 26. Eso solo funciona mientras el código siga compilando con Xcode 26, así que adoptar funciones exclusivas de Swift 6.4 pone fin a esa opción.
  • Planifica ya lo de los runners Intel. Los runners Mac Intel autoalojados pierden el soporte de CodeQL a mediados de diciembre de 2026. Presupuesta máquinas con Apple silicon antes de esa fecha.
  • Vigila las próximas notas de versión de CodeQL. La versión 2.27.1 añadió una consulta de C++ y empezó a leer los archivos de bloqueo de Actions. El soporte de Swift 6.4 llegaría de la misma forma, y ese es el momento de dejar de fijar versiones.

Fuentes

  1. CodeQL changes for macOS 27, Xcode 27, and Swift 6.4 - GitHub Changelog
  2. Xcode SDKs and system requirements - Apple Developer
securityappleioscodeqlswift

Artículos relacionados

An unfolded iPhone Duo in landscape shows the Slack app with a sidebar of direct messages beside an open conversation, in an Apple press image.
Herramientas dev

Xcode 27.1 RC abre la App Store a las apps para iPhone Duo

Apple ya acepta apps para iPhone Duo compiladas con Xcode 27.1, 18 días antes de que el plegable llegue a los clientes el 23 de octubre. Las capturas de pantalla para Duo serán obligatorias en abril de 2027.