Xcode 8 con SDK base antiguo

Me encuentro con problemas de compatibilidad para algunos marcos externos que estoy usando en mi proyecto. ¿Hay alguna manera de cambiar el Base SDK en Xcode 8? Actualmente, en la configuración del proyecto solo me muestra el último SDK.

Intenté copiar el SDK antiguo de otra versión de Xcode aquí, pero no funcionó:

/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/

A partir de Xcode 7.3, además de copiar en el SDK, también debe editar un determinado archivo Info.plist, como se describe aquí para macOS en la publicación de agx . Parece que hay un archivo similar para iOS, en

Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Info.plist 

Intente cambiar el valor de MinimumSDKVersion de 10.0 a la versión del SDK que desee.

No he intentado esto con iOS, pero, usando esta solución, solo pude construir un objective macOS con macOS 10.6 usando Xcode 8.0 (8A218a) (el “GM”).

ACTUALIZAR

El truco descrito arriba dejó de funcionar para mí en Xcode 9. Si desea usar Xcode 9+, vea mi respuesta más reciente fechada el 22 de noviembre de 2017.

Mi respuesta original, aunque funcionó con Xcode 8, por alguna extraña razón que no vale la pena explicar, ya no funciona con Xcode 9 en el proyecto anterior de un cliente en particular. Así que he estado usando un flujo de trabajo alternativo que realmente no es tan malo.

Para trabajar en este proyecto, lo abro tanto en el viejo Xcode, que puede construirlo con el SDK requerido, como en un Xcode reciente. Pongo la vieja ventana de Xcode en segundo plano y hago mi trabajo en el Xcode reciente. Cuando estoy listo para probar los cambios, hago un Archivo > Guardar todo ( ⌥⌘S ), luego cambio al viejo Xcode y Build ( ⌘B ). Cuando finaliza la construcción, vuelvo a Xcode y Product recientes> Realizar acción > Ejecutar sin comstackción ( ^⌘R ). Como el formato de archivo dSYM no ha cambiado, los puntos de interrupción funcionan como se esperaba.

Las ventajas son que no se requiere piratear Xcode, y lo único que necesito recordar sobre el antiguo Xcode (Xcode 3 en mi caso) es, por suerte : ⌘B .

Una pequeña advertencia: en el objective de este proyecto en particular, en Configuraciones de comstackción , tiene una Ruta de productos de comstackción personalizada. Esto es típico de la forma en que se crearon las aplicaciones de Mac hace años. Para garantizar que sus dos códigos X funcionen con el mismo producto, si sus Xcodes antiguos y recientes están montados en la versión que modificó la ruta predeterminada de comstackción de productos , es posible que deba establecer la ruta de comstackción de los productos .

El flujo de trabajo probablemente podría hacerse aún más fácil mediante la creación de scripts de las herramientas de línea de comandos xcodebuild y xcode-select , pero esto es suficiente. Con el anuncio de Apple en la WWDC de este año de que la compatibilidad con las aplicaciones Mac de 32 bits desaparecerá durante los próximos dos años, en cualquier caso, mi cliente tiene algunas decisiones difíciles por delante.

Solo tiene que cambiar la configuración de “Destino de despliegue”. Básicamente, utiliza el último SDK disponible como SDK base, pero selecciona una versión de destino de OS X. Por supuesto, ¿depende de por qué quieres usar un SDK anterior?