2012-09-18 13 views

Respuesta

6

Puede tener múltiples versiones de xcode instaladas. En el pasado, esa ha sido la solución que necesita usar una función xcode anterior.

Es una solución, y los archivos del proyecto pueden evolucionar eventualmente de una manera que ya no admite las herramientas más antiguas, pero por el momento, eso le permitirá construir objetivos más antiguos.

Si tiene un único proyecto con el que desea trabajar en ambas versiones de XCode, puede terminar teniendo que administrar archivos de control de proyecto por separado a través de trucos de control de fuente y/o mezcla de archivos.

También recomendaría que los cambios en la estructura del proyecto y la gestión de archivos binarios (por ejemplo, los modelos Core Data) se realicen a través de la versión anterior, ya que XCode 4.5 será retrocompatible, pero la compatibilidad directa rara vez está asegurada.

+0

Había guardado una copia XCode44.app en la carpeta de mi aplicación para hacer eso y fue eliminada por la actualización 10.8.2 -_-... !!! ¿Alguna idea de cómo descargarla de nuevo? – Olivier

+5

@Olivier - Apple todavía tiene Xcode 4.4 en las descargas de sus desarrolladores: https://developer.apple.com/downloads/index.action?name=Xcode# –

+1

También copias de seguridad de Time Machine ... – jrtc27

-1

Puede agregar la cadena "armv6 armv7" como arquitectura. No seleccione una configuración predefinida.

+3

Esto no funciona. Puedes escribir 'armv6 armv7' como tus Arquitecturas, pero (a menos que haya algún otro paso que no hayas mencionado), esto no construirá un ejecutable para armv6 en Xcode 4.5. – Nate

+0

En XCode 4.1/4.2, soltaron el brazov6 como una configuración predeterminada, pero al leerlo en la propiedad del proyecto "Arquitecturas", como @ user1689643 dice que en realidad también construiría la arquitectura armv6. Ahora en XCode 4.5 este truco, además de agregarlo a la lista de "Arquitecturas válidas", aún no funciona y obtendrá una advertencia de advertencia de compilación: ninguna regla para procesar el archivo '$ (DIRECCIÓN_ PROYECTO) /mypath/mysrcfile.c 'de tipo sourcecode.cc para la arquitectura armv6'. Parece que XCode.app (v4.5) ha desactivado el soporte de armv6 y necesitará una edición anterior de XCode para compilar este segmento de arquitectura. –

+1

@NeoZenith, finalmente descubrí cómo hacer esto, sin * mantener * un Xcode antiguo alrededor. [Solución publicada aquí] (http://stackoverflow.com/a/13061562/119114) – Nate

1

Hay otra solución que encontré en el blog de chpwn: Building for armv6 in Xcode 4.5.
Esto le permite trabajar con Xcode 4.5 pero compilar usando 5.1 SDK. La desventaja: no se puede usar el iOS 6 SDK cuando se usa este truco, y no se puede construir para armv7s.

+1

Lamentablemente, chpwn no mencionó un paso importante, que originalmente me hizo tropezar. Tuve que definir una ** Regla de compilación ** personalizada, también. Explicación [detallado en mi respuesta aquí] (http://stackoverflow.com/a/13061562/119114). Además, los ejecutables de armv7 se ejecutarán en armv7s, sin el beneficio de las nuevas mejoras/optimizaciones de armv7s. – Nate

1

Sí, hay soluciones. Si necesita aprovechar las nuevas funciones de iOS 6, intente con cualquiera de las primeras respuestas to this related question. The first answer requiere el uso de Xcode 4.4 y 4.5. Si nunca desea tener que abrir Xcode 4.4, then use the second answer.

Si solo desea poder construir un ejecutable en Xcode 4.5 que funcione en los dispositivos armv6, armv7 y armv7s, sin aprovechar las nuevas API iOS 6 SDK, entonces can see my answer to another question, que es mucho más simple ... pero tiene la limitación de que no puede aprovechar las nuevas características de iOS 6 en dispositivos con iOS 6.

Cuestiones relacionadas