youtubers tesis sobre sirve que para libros investigaciones investigacion historia caracteristicas iphone deployment settings submission

iphone - tesis - Base versus activo versus destino de implementación



tesis sobre youtube pdf (4)

"Base SDK" es el SDK máximo que tu aplicación puede admitir. Hay un límite estricto aquí: no puede seleccionar un SDK no publicado futuro.

"Destino de implementación" es el SDK mínimo que está dispuesto a admitir. Es cuánto tiempo atrás estás dispuesto a ir.

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

Los juegos que Apple está jugando parecen estar causando problemas con las aplicaciones, también. Mi copia comprada de Elements no se sincronizará a través de iTunes con el iPod porque Elements necesita una versión más nueva de iOS para ejecutarse (se sincroniza y funciona bien en mi iPhone iOS 6.0).

Tengo dos iPads y uno es 4.3. Me estremezco al pensar en el desastre que causará.

Sé que algunas partes de esta pregunta se formularon en varias variaciones, pero quiero asegurarme de que lo hice bien.

Aquí están mis suposiciones y entendimientos que quiero saber si son correctos antes de enviarlos.

Mi aplicación asume características compatibles con todos los sistemas operativos, por lo que debería:

  1. Configure el Active SDK para que sea el último (actualmente SDK 3.0).
  2. Configure el objetivo de implementación para que sea más bajo Quiero ser compatible: ¿iPhone 2.0 y superior?
  3. ¿Para qué es exactamente el SDK base? ¿Debo ignorarlo si elegí el SDK activo para ser diferente y dónde veo el SDK activo en la configuración de Proyectos?

Una última pregunta: ¿Apple permite elegir iPhone OS 2.0 como objetivo de implementación?

Gracias por adelantado,

Por cierto, una de las razones principales de esta pregunta es que al compilar con SDK anteriores, Apple parece tener un problema al liberar la memoria para la matriz de animación UIImageView cuando esta animación se guardó para uso de tiempo múltiple. Este es un problema conocido que se solucionó con SDK 3.0 (simplemente configurando la matriz de animación UIImageView en cero)


Debería establecer la configuración de compilación del SDK base en la última SDK que contiene todas las funciones que pretende utilizar (generalmente, el último SDK disponible), y establecer la configuración de compilación "Destino de implementación del iPhone" en la versión más antigua del SO en que quieres correr.

A continuación, debe asegurarse de verificar, en tiempo de ejecución, las características que pueden no existir en los sistemas operativos anteriores.


En general;

Establezca el SDK BASE en el último SDK que está dispuesto a admitir y probar.

Establezca el Destino de implementación a la versión más baja de iOS que esté dispuesto a admitir y probar.

Si utiliza las funciones del SDK base que no están disponibles en el SDK de destino de la implementación, la aplicación se bloqueará en el tiempo de ejecución en dispositivos más antiguos, por lo que la prueba es vital.

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

Si eres del mundo android, las analogías son tales;

TargetSDK -> Base SDK

MinSDK -> Destino de implementación

Lint -> Deploymate


La diferencia entre la Base y el SDK activo es que el primero es el SDK predeterminado establecido para el proyecto y el último es el SDK contra el que se está desarrollando actualmente. Por lo tanto, es posible que su Active SDK sea el SDK básico, momento en el que XCode usará el SDK que especificó para el proyecto.

Para construir su aplicación para el conjunto más amplio de dispositivos posible, tiene razón:

  • Establezca el SDK base en el último SDK posible (3.0, 3.0.1)
  • Establezca el destino de implementación en el SDK más antiguo posible (2.0)

Apple le permite especificar iPhone 2.0 como objetivo de implementación, pero tenga en cuenta que cualquier API o framework lanzado después de iPhone 2.0 no estará disponible para su uso de manera predeterminada. Existen técnicas para usar características de los SDK posteriores , sin embargo, no son triviales.