Xcode 27 y iOS SDK 27: Depurar apps Xojo de iOS en los Simuladores

Como bien sabes a veces las actualizaciones de Apple implican que algo que venía funcionando del modo que esperabas… deja de funcionar. Esto es exactamente lo que ocurre con la combinación de: macOS 27.0 (Golden Gate), Xcode 27 y iOS SDK 27 (todos ellos las versiones públicas finales). Bajo dicha configuración verás que no es posible depurar ninguno de tus proyectos de iOS sobre cualquiera de los Simuladores de iOS 27.0, tanto si utilizas la app Simulator como la nueva DeviceHub. Continúa leyendo para ver cómo puedes solucionar este problema.

Evidentemente, durante nuestras pruebas internas para la próxima Xojo 2026r3 nos hemos dado cuenta de este problema y ya está corregido; de modo que la siguiente solución es aplicable para quienes estén utilizando la configuración anteriormente descrita, estén utilizando Xojo 2026r2.1 o anterior, y quieran probar sus proyectos de iOS sobre cualquiera de los simuladores de iOS 27. Por otra parte, el problema en cuestión no sucede si depuras tus proyectos de iOS sobre un dispositivo físico que tenga instalado iOS 27.

La solución

Hasta que Xojo 2026r3 esté disponible, la solución es realmente simple. Sólo has de añadir un nuevo script de compilación a tu proyecto iOS justo por encima del paso de firmado en la sección Build Settings > iOS del Navegador de Proyecto.

Luego, añade el siguiente fragmento de código en el Editor de Guiones asociado:

Dim buildLocation As String = CurrentBuildLocation
Dim appPackageName As String = CurrentBuildAppName

Dim cleanBinaryName As String = ReplaceAll(appPackageName, ".app", "")

Dim command As String
command = "cd " + buildLocation + _
" && cd " + Chr(34) + appPackageName + Chr(34) + _
" && install_name_tool -change /System/Library/PrivateFrameworks/WebKit.framework/WebKit /System/Library/Frameworks/WebKit.framework/WebKit " + Chr(34) + cleanBinaryName + Chr(34) + _
" && cd .. " + _
" && xattr -cr " + Chr(34) + appPackageName + Chr(34) + _
" && codesign --force --deep --sign - " + Chr(34) + appPackageName + Chr(34)

Dim result As String = DoShellCommand(command)

Para probarlo, selecciona Project > Run On… y elige cualquiera de los simuladores de iOS 27.0 que se encuentren instalados en tu Mac como parte del proceso de instalación del SDK 27.0 de iOS.

Si todo ha ido bien, verás tu proyecto de iOS funcionando sin problemas como venía siendo el caso cuando utilizabas las anteriores combinaciones de Xcode y SDK de iOS… e incluso durante el ciclo beta de Xcode 27.0 y el SDK 27.0 de iOS.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *