Pregunta

Sé que partes de esta pregunta se le preguntó en varias variaciones, pero quiero asegurarme de que lo hizo bien.

Aquí están mis suposiciones e interpretaciones que quiero saber si son correctas antes de enviar.

Mi aplicación asume las funciones compatibles con todos los sistemas operativos, y por lo que debe:

  1. Establecer el SDK activo a ser la más reciente (actualmente SDK 3.0).
  2. Ajuste el Destino de despliegue de la que sea inferior Quiero ser apoyado - iPhone 2.0 y superior
  3. ¿Qué es exactamente el SDK Base de? debería ignorar que si elegía SDK activo a ser diferente y dónde veo el SDK activo en la configuración de proyectos?

Una última pregunta - es la manzana que permite elegir el iPhone OS 2.0 como el Destino de despliegue

Gracias de antemano,

BTW - uno de mi razón principal para esta pregunta es porque al compilar con SDK anteriores manzana parece tener un problema de la liberación de la memoria para la matriz de animación UIImageView cuando esta animación fue salvado por el tiempo de uso múltiple. Este es un problema conocido que se fijó con SDK 3.0 (simplemente fijando la matriz de animación UIImageView a nil)

¿Fue útil?

Solución

La diferencia entre la base y SDK activo es que el primero es el conjunto SDK predeterminado para el proyecto y el último es el SDK se está construyendo actualmente en contra. Por lo tanto, es posible que su SDK activo sea el SDK Base, momento en el que XCode utilizará el SDK especificado para el proyecto.

Con el fin de construir su aplicación para el conjunto más amplio de dispositivos posibles, estás en lo correcto:

  • Establecer el SDK Base para el SDK lastest posible (3.0, 3.0.1)
  • Ajuste el Destino de despliegue a los primeros SDK posible (2,0)

Apple hace le permiten especificar iPhone 2.0 como el Destino de despliegue, pero tenga en cuenta cualquier API o un marco de libertad después de iPhone 2.0 que no tendrá a su disposición para su uso por defecto. Hay técnicas para utilizar las funciones de más tarde SDK , sin embargo, son no trivial.

Otros consejos

Se debe ajustar la acumulación Base SDK posiciones de ajuste del último SDK que contiene todas las características que se va a utilizar (por lo general, el último disponible SDK), y establecer el "iPhone Destino de despliegue" de la estructura Ajuste a la versión más antigua de el sistema operativo en el que desea ejecutar.

A continuación, deberá asegurarse de que compruebe, en tiempo de ejecución, por cualquier característica que pueda no existe en el SO anteriores.

"Base SDK" es el SDK máxima que puede soportar la aplicación. Hay un límite duro aquí -. No puede seleccionar un futuro, SDK inédito

"Destino de despliegue" es el SDK mínimo que está dispuesto a apoyar. Es que tan atrás en el tiempo que están dispuestos a ir.

Xcode parece crear una dependencia espuria en "Destino de despliegue." Por ejemplo, no puedo desarrollar en mis iOS 5.1.1 iPod con Xcode 4.5.2 (Xcode 4.5.2 está emparejado con IOS 6.0), a pesar de que las 4.3, 5.0 y 5.1 API y simuladores están instalados en esta instalación. Necesito usar el simulador o el gato en mi iPhone iOS 6.0.

Los juegos de Apple está jugando parece estar causando problemas con las aplicaciones, también. Mi copia adquirida de elementos no se sincroniza a través de iTunes para el iPod porque Elementos necesita una nueva versión de iOS para funcionar (se sincroniza y funciona muy bien en mis iOS 6.0 iPhone).

Tengo dos iPads y uno es de 4,3. Quiero ni pensar qué desastre que causará.

En general;

Configurar el SDK BASE hasta el último SDK que está dispuesto a apoyar y prueba.

Ajuste el Destino de despliegue de la versión más baja de iOS que está dispuesto a apoyar y prueba.

Si usted usa Base SDK no disponibles en el SDK de destino de implementación, la aplicación se bloquee en tiempo de ejecución en los dispositivos más antiguos, por lo que la prueba es de vital importancia.

Un proceso alternativo / complementario sería utilizar Deploymate http://www.deploymateapp.com/ que no análisis de código estático para identificar los problemas.

Si usted es del mundo androide las analogías son tales;

TargetSDK -> Base SDK

MinSDK -> Destino de despliegue

Lint -> Deploymate

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top