ios - mac - xcode for windows
Xcode 8 con mayor Base SDK (3)
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 allí desde 10.0 a la versión de SDK que desee.
No he intentado esto con iOS, pero al usar esta solución alternativa, solo pude construir un objetivo macOS con macOS 10.6 usando Xcode 8.0 (8A218a) (el "GM").
ACTUALIZAR
El truco descrito anteriormente dejó de funcionar para mí en Xcode 9. Si desea utilizar Xcode 9+, vea mi respuesta más reciente del 22 de noviembre de 2017.
Estoy teniendo problemas de compatibilidad con algunos marcos externos que estoy usando en mi proyecto. ¿Hay alguna manera de cambiar el SDK base en Xcode 8? Actualmente en la configuración del proyecto solo me muestran el último SDK.
He intentado copiar el SDK anterior de otra versión de Xcode aquí, pero no funcionó:
/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/
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 está tan mal.
Para trabajar en este proyecto, lo abro tanto en el Xcode anterior, que puede compilarlo con el SDK requerido, como en un Xcode reciente. Pongo la vieja ventana de Xcode en el fondo y hago mi trabajo en el reciente Xcode. Cuando estoy listo para probar los cambios, hago un Archivo > Guardar todo ( ⌥⌘S ), luego cambio al antiguo Xcode y Build ( ⌘B ). Cuando finaliza la compilación, vuelvo al Xcode y al Producto > Ejecutar acción > Ejecutar sin construir ( ⌃⌘R ). Debido a que el formato del archivo dSYM no ha cambiado, los puntos de interrupción funcionan como se esperaba.
Las ventajas son que no se requiere la piratería de Xcode, y lo único que necesito recordar sobre el antiguo Xcode (Xcode 3 en mi caso) es, afortunadamente: ⌘B .
Una pequeña advertencia: en el objetivo de este proyecto en particular, en Configuración de compilación , tiene una Ruta de compilación de productos personalizada. Esto es típico de la forma en que las aplicaciones de Mac se construyeron hace años. Para asegurarse de que ambos Xcodes estén funcionando con el mismo producto, si sus Xcodes antiguos y recientes se ubican en la versión que cambió la ruta de productos de compilación predeterminada, es posible que deba configurar la ruta de productos de compilación .
El flujo de trabajo probablemente se podría hacer aún más fácil mediante la creación de secuencias de comandos de las herramientas de línea de comandos xcodebuild
y xcode-select
, pero esto es lo suficientemente bueno. Con el anuncio de Apple en la WWDC de este año sobre el soporte para las aplicaciones Mac de 32 bits que desaparecerán durante los próximos dos años, mi cliente tiene algunas decisiones difíciles por delante en cualquier caso.
Solo tienes que cambiar la configuración de "Destino de implementación". Básicamente, utiliza el último SDK disponible como SDK básico, pero selecciona una versión de OS X de destino. Por supuesto, depende de por qué quiere usar un SDK anterior.