iphone ios ios7 xcode5

iphone - Cómo implementar un proyecto con iOS base SDK 6.1 en un dispositivo con iOS 7



ios7 xcode5 (3)

En la barra de herramientas de Xcode 5, para su objetivo verá su dispositivo en la lista dos veces (también mencionó esto en su pregunta). Por alguna extraña razón, uno está compilando con iOS 6.x y el otro con iOS7. Intentando construir / ejecutando en uno de los dispositivos de esta lista. Si aún ve la apariencia de iOS7, haga clic en la barra de herramientas, seleccione el otro dispositivo y compile nuevamente.

No veo ningún fallo en Xcode 5, por lo que es posible que desee volver a instalarlo si se bloquea mucho para usted.

He estado perdiendo todo el día en este problema y no pude encontrar una solución: he estado desarrollando una aplicación con iOS 6.1 SDK, y todo el diseño se basa en la IU de iOS 6.1. Ayer, actualicé mi teléfono a iOS 7 y, una vez finalizada la actualización, la aplicación implementada anteriormente, que se recuperó de la copia de seguridad, tenía el mismo aspecto que antes (en iOS 6.1); todo estuvo bien. Sin embargo, tuve que actualizar mi Xcode a la versión 5, por lo que puedo continuar implementando versiones de depuración sucesivas en mi dispositivo iOS 7 durante el desarrollo. Antes de actualizar a Xcode 5, he realizado una copia de seguridad del paquete iPhoneOS6.1.sdk desde la carpeta interna de Xcode; luego actualizó a Xcode 5, y luego volvió a colocar el paquete iPhoneOS6.1.sdk en su carpeta, junto al iOS 7 SDK, que venía con la instalación de Xcode 5. Cambié el SDK base de mi proyecto a iOS 6.1, que surgió en la lista de selección del SDK base, y me aseguré en el generador de interfaces de que todos mis guiones gráficos / XIB están configurados para compilarse como iOS 6.1.

Sin embargo, cuando implemento la aplicación en mi teléfono, parece una mierda, como se muestra con los elementos de IU de iOS 7. Si uso un dispositivo con iOS 6.1 instalado, todo se ve bien; Parece que a XCode no le importan mis opciones de SDK base y vincula la aplicación con iOS 7, si elijo depurar en un dispositivo con iOS 7.

¿Cómo puedo forzar a Xcode para que implemente las mismas cosas vinculadas a 6.1 en todos los dispositivos, independientemente de la versión de iOS instalada?


En primer lugar, deberá copiar y pegar el SDK de iOS 6.1 de una versión anterior de XCode. Creo que otras personas han dado instrucciones sobre cómo hacer esto.

Luego, asumiendo que tiene la intención de continuar con el desarrollo para iOS 6 (por ejemplo, sin romper la interfaz de usuario de iOS 6 y no tiene la intención de usar nuevas API), haga lo siguiente:

  • XCode debe reconocer 2 dispositivos cada vez que conectas un dispositivo iOS 7 a tu computadora
  • Ejecute la aplicación en ambos (en realidad son el mismo dispositivo, pero uno de ellos ejecutará la aplicación al estilo de iOS 6, y el otro intentará actualizarla al estilo de iOS 7)
  • Recuerda el que ejecuta la aplicación estilo iOS 6 (para mí es el más alto) y haz Producto> Archivo en ese dispositivo

Esto debería seguir permitiéndole construir sus aplicaciones con la IU de estilo iOS 6, al mismo tiempo que le permite usar Xcode 5. Recomendaría comenzar una nueva rama de desarrollo exclusivamente para los cambios de IU para obtener la UI de su aplicación compatible con iOS 7.


Encuentra y descarga el SDK antiguo. Los SDK más antiguos se encuentran aquí, https://developer.apple.com/downloads/index.action?name=Xcode

He copiado el directorio Xcode_4.6.3.app como Xcode_4.6.3.app . Ahora puedes probar y depurar en ambas versiones de xcode. Debe ejecutarlos desde las carpetas correspondientes o crear accesos directos en su escritorio. Cuando compilo desde la línea de comandos, doy el parámetro como iPhoneOS6.1 en lugar de iPhoneOS7.0

Esto funcionó muy bien para mí en Xcode5 y iOS. Accede al directorio SDK de Xcode5. Agrega un enlace simbólico al antiguo SDK como este:

ln -s /Applications/Xcode_4.6.3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk iPhoneOS6.1.sdk