manumateos.dev

Comunicar Xcode 14 con un dispositivo con iOS 17

A todos nos ha pasado alguna vez: hemos tenido que conectar un iPhone actualizado a una versión de Xcode más antigua. Y hasta hace no mucho muchos acabábamos utilizando la herramienta de iGhibli para instalar los archivos de soporte.

Pero hoy he intentado hacerlo para poder compilar en mi iPhone con iOS 17 desde Xcode 14, y resulta que los ficheros de soporte para esta versión del sistema operativo no existen.

La solución es más sencilla: un solo comando de Terminal que he aprendido en este post de StackOverflow.

defaults write com.apple.dt.Xcode DVTEnableCoreDevice enabled

Lo que hace ese comando, como seguro intuyes ya, es habilitar CoreDevice. CoreDevice es un nuevo stack de comunicaciones con dispositivos que en principio, según indican en los foros de desarrollo de Apple, permitiría seguir usando Xcode 15 para hacer debug de potenciales futuras versiones del sistema operativo.

With iOS 17+, we are using a new device stack (CoreDevice) to communicate with devices. With this new device stack, there is one DDI per platform (as opposed to per OS release). This same device stack will be shared across all versions of Xcode on your system, and installing a newer version of Xcode will update CoreDevice and its DDIs (just like how CoreSimulator is updated, if you are familiar with that).