Compartir a través de


Cambios adicionales en tvOS 10 Frameworks

Además de los principales cambios en tvOS, Apple ha realizado modificaciones y mejoras en varios marcos existentes en tvOS, 10.

Adiciones del marco AVFoundation

El marco AVFoundation incluye las siguientes mejoras:

  • En tvOS 10, la aplicación ya no implementa diferentes comportamientos AVPlayerItem basados en el tipo de contenido. Simplemente establezca la propiedad Rate y AVFoundation determinará cuándo hay suficiente contenido disponible para la reproducción sin detención.
  • La nueva AVPlayerLooper clase facilita el bucle de un elemento multimedia determinado durante la reproducción.

Mejoras de AVKit Framework

El marco AVKit incluye las siguientes mejoras:

  • La aplicación ahora tiene control sobre el comportamiento de omisión del AVPlayerViewController, por lo que un gesto de omisión puede pasar al siguiente elemento de la lista de reproducción o avanzar dentro del elemento actual.

Mejoras de datos principales

tvOS 10 incluye las siguientes mejoras para Core Data Framework:

  • Los objetos raíz NSManagedObjectContext admiten errores y recuperación simultáneos sin serialización.
  • La clase NSPersistentStoreCoordinator mantiene un grupo de almacenes de datos SQLite.
  • Los objetos NSManagedObjectContext con almacenes de datos SQLite en el modo WAL Journal admiten la nueva función de generación de consultas donde los contextos de objetos administrados (MOC) se pueden anclar a versiones específicas de bases de datos para futuras transacciones de recuperación y fallas.
  • Uso del NSPersistenceContainer de nivel alto para hacer referencia a NSPersistentStoreCoordinator, NSManagedObjectModel y otros recursos de configuración de Core Data.
  • Se han agregado varios métodos de conveniencia nuevos a NSManagedObject lo que facilita la realización de capturas y creación de subclases.

Para obtener más información, consulte la Referencia de Core Data Framework de Apple.

Mejoras de gráficos principales

tvOS 10 incluye las siguientes mejoras en el marco de gráficos principales:

  • La nueva clase CGColorConverterRef se puede usar para realizar una serie de conversiones de color.

Mejoras en Core Image

tvOS 10 realiza las siguientes mejoras en el marco Core Image:

  • El método ImageWithExtent de la clase CIFilter se puede utilizar para insertar el procesamiento personalizado en la operación de filtrado. Core Image invocará la devolución de llamada dada entre filtros al procesar una imagen para la salida o la presentación.
  • La aplicación ahora puede procesar imágenes en un espacio de colores fuera del espacio de color de trabajo del contexto de Core Image convirtiendo y fuera del espacio de color antes y después del procesamiento.
  • Se han realizado varias mejoras en el rendimiento de la renderización UIImage (cuando está respaldada por almacenes de imágenes Core Image) en objetos UIImageView.
  • Los objetos UIImage etiquetados como de gama amplia se representarán como colores de gama amplia en objetos UIImageView en dispositivos iOS que admitan ancho de colores.
  • El código de kernel de Core Image ahora puede solicitar formatos de salida de píxeles específicos.

Además, se han agregado los siguientes nuevos filtros de Core Image:

  • CINinePartTiled
  • CINinePartStretched
  • CIHueSaturationValueGradient
  • CIEdgePreserveUpsampleFilter
  • CIClamp

Mejoras básicas

Se han realizado las siguientes mejoras en el marco Foundation para tvOS 10:

  • Utilice la nueva clase NSDateInterval para realizar cálculos de intervalo de fecha y hora, como duraciones, para comparar intervalos y pruebas de intersecciones de intervalos.
  • Se han agregado varias propiedades nuevas a la clase NSLocal para adquirir información local y los formatos de visualización disponibles.
  • Utilice la nueva clase NSMeasurement para convertir entre diferentes unidades de medida (UOM) o realizar cálculos sobre valores en diferentes UOM.
  • Utilice la nueva clase NSMeasurementFormatter para dar formato a las medidas localizadas para mostrar al usuario final.
  • Utilice las nuevas clases NSUnit y NSDimension para representar unidades de medida específicas.

Mejoras de GameKit

Se han realizado fas siguientes mejoras en el marco GameKit en tvOS 10:

  • La clase GKCloudPlayer ha implementado un nuevo tipo de cuenta exclusiva de iCloud.
  • La nueva clase GKGameSession proporciona una solución generalizada para administrar el almacenamiento de datos persistentes en Game Center. GKGameSession mantiene una lista de jugadores y la aplicación es responsable de implementar cómo y cuándo se almacena, recupera o intercambia entre jugadores la fecha del participante. En muchas instancias, las sesiones de juego pueden reemplazar las coincidencias basadas en turnos existentes, las coincidencias en tiempo real o los métodos de guardado de juegos persistentes.

Mejoras de GameplayKit

Las siguientes mejoras se han realizado en el marco de GameplayKit en tvOS 10:

  • Se ha agregado la generación de ruidos de procedimientos y se puede usar para mejorar el realismo en texturas de aspecto natural, agregar realismo a los movimientos de cámara y ayudar a generar mundos de juego enriquecidos.
  • Usa Particionado del espacio para crear particiones de los datos del mundo del juego para una búsqueda eficaz.
  • Un nuevo estratega de Monte Carlo (GKMonteCarloStrategist) se ha agregado para un cálculo exhaustivo de posibles movimientos.
  • Se ha agregado una nueva API de árbol de decisiones (GKDecisionTree y GKDecisionNode) para mejorar la IA de construcción de juegos.
  • La compatibilidad con 3D se ha agregado a los comportamientos existentes de agente y búsqueda de rutas de acceso mediante las nuevas clases GKAgent3D y GKGraphNode3D.
  • Utilice la nueva clase GKMeshGraph para proporcionar caminos de alto rendimiento y aspecto natural.
  • Las nuevas clases GKScene y GKSKNodeComponent hacen que combinar GameplayKit y SpriteKit sea más fácil que nunca.

Mejoras de metal

Las siguientes mejoras se han realizado en el marco Metal en tvOS 10:

  • Las aplicaciones y juegos 3D ahora pueden utilizar Tessellation para representar de forma eficaz escenas complejas y geometría mediante la GPU.
  • Utilice la especialización de funciones para crear una colección altamente optimizada de funciones de combinación de materiales y luz para una escena.
  • Proporcione un control específico de la asignación de recursos para optimizar el rendimiento de las aplicaciones basadas en Metal mediante montones de recursos y destinos de representación sin memoria.

Para obtener más información consulte la Guía de programación de Metal de Apple.

Mejoras de sombreadores de rendimiento de metal

Las siguientes mejoras se han realizado en el marco de sombreadores de rendimiento de metal en tvOS 10:

  • Se han agregado muchos kernels nuevos al marco de sombreadores de rendimiento de metal para permitir que la aplicación aproveche los cálculos optimizados y paralelos de datos altamente optimizados, como conversiones de espacio de color y operaciones de red neuronal.

Mejoras de ModelIO

Se han realizado las siguientes mejoras en el marco ModelIO en tvOS 10:

  • Ahora se admite el formato de archivo USD.
  • Utilice la nueva clase MDLMaterialPropertyGraph para admitir fácilmente los cambios en tiempo de ejecución en los modelos.
  • Se ha agregado compatibilidad con campos de distancia firmados a la clase MDLVoxelArray.
  • Utilice la nueva clase MDLLightProbeIrradianceDataSource para ayudar en la colocación de Light Probe.

Mejoras de SceneKit

Se han realizado las siguientes mejoras en el marco SceneKit en tvOS 10:

  • SceneKit ahora incluye un nuevo sistema de representación basada en física (PBR) para obtener resultados más realistas con la creación de recursos más sencilla.
  • Utilice el nuevo modelo de sombreado SCNLightingModelPhysicallyBased para producir una amplia gama de efectos de sombreado realistas mientras requiere solo tres propiedades fundamentales (Diffuse, Metalness y Roughness).
  • Dado que el sombreado PBR funciona mejor con la iluminación basada en el entorno, utilice la propiedad LightingEnvironment para asignar iluminación basada en imágenes a toda una escena.
  • Utilice la propiedad IESProfileURL para importar accesorios de luz reales que definen la iluminación basada en valores reales, como la intensidad (en lúmenes) y la temperatura del color (en grados Kelvin).
  • La clase SCNCamera puede proporcionar mayor realismo mediante el uso de funciones y efectos HDR. Utilice la exposición adaptativa para crear efectos automáticos o utilice viñetas, franjas de color y gradación de color para agregar efectos de relleno al juego.
  • Las características de la cámara PBR y HDR proporcionan mejores resultados que las técnicas de representación tradicionales y, como resultado, SceneKit ahora realiza todos los cálculos de color en un espacio de color lineal (mediante la gama de colores P3 en pantallas de dispositivo de color ancho).
  • El color de SceneKit ahora coincide con todos los colores leyendo la información del perfil de color.
  • SceneKit interpreta los valores de los componentes de color en un espacio de color RGB lineal para todos los tipos de sombreador.
  • Puesto que SceneKit lee y ajusta la información del perfil de color en las imágenes de textura, utilice los catálogos de activos para todas las imágenes para asegurarse de que se proporciona esta información.
  • La representación del espacio de color lineal y el color ancho se pueden deshabilitar especificando las claves SCNDisableLinearSpaceRendering y SCNDisableWideGamut en el Info.plist de la aplicación.
  • Compile polígonos arbitrarios (cargados desde archivos o generados mediante programación) para especificar la geometría con la nueva clase SCNGeometryPrimitiveTypePolygon.

Mejoras de SpriteKit

Se han realizado las siguientes mejoras en el marco SpriteKit en tvOS 10:

  • Los mapas de iconos ahora admiten formas de mosaico cuadradas, hexagonales e isométricas para las clases 2D, 2.5D y el desplazamiento lateral mediante las clases SKTileMapMode, SKTileGroup, SKTileGroupRule y SKTileSet.
  • Utilice la nueva clase SKWarpGeometry para ajustar o distorsionar la representación de SKSpriteNode o SKEffectNode. La nueva clase SKAction se puede utilizar para animar las transiciones entre los efectos de distorsión.
  • Los sombreadores personalizados pueden proporcionar atributos (SKAttribute) que se pueden configurar por separado por cada nodo que usa el sombreador proporcionando un valor de atributo (SKAttributeValue).
  • La clase SKView proporciona varios métodos nuevos para brindar un control detallado sobre cuándo y cómo se representa una escena.

Mejoras de UIKit

Se han realizado las siguientes mejoras en el marco UIKit en tvOS 10:

  • La API de enfoque se ha mejorado para admitir el foco de elementos que no son de vista, además de UIViews. Los elementos que admiten el foco deben implementar la interfaz IUIFocusItem.
  • La nueva clase UIGraphicsRender proporciona un método orientado a objetos para crear mapas de bits o archivos PDF a partir de la representación de UIKit o gráficos principales y reemplaza el método en desusoUIGraphicsBeginImageContext.
  • La clase UIUserInterfaceStyle se agregó para determinar qué tema de interfaz de usuario (oscuro o claro) está activo actualmente.
  • Se ha agregado un nuevo soporte de animación interrumpible, totalmente interactivo y basado en objetos, que se puede vincular a gestos. Para obtener más información, consulte Referencia del protocolo UIViewAnimating, Referencia de la clase UIViewPropertyAnimator, Referencia del protocolo UITimingCurveProvider, Referencia de la clase UICubicTimingParameters y Referencia de la clase UISpringTimingParameter de Apple.
  • El nuevo UIPreviewInteraction y UIPreviewInteractionDelegate permite que la aplicación proporcione una interfaz personalizada para las operaciones de inspección y pop.
  • La nueva clase UIAccessibilityCustomRotor permite que la aplicación proporcione funcionalidad personalizada y específica del contexto a tecnologías de asistencia como Voice Over.
  • Utilice los símbolos UIAccessibilityIsAssistiveTouchRunning y UIAccessibilityAssistiveTouchStatusDidChangeNotification para determinar si AssistiveTouch está habilitado.
  • Utilice los símbolos UIAccessibilityHearingDevicePairedEar y UIAccessibilityHearingDevicePairedEarDidChangeNotification para obtener el estado de los audífonos MFi emparejados.
  • La nueva API UIPasteboard proporciona nuevas opciones (como limitaciones de duración) y declarará automáticamente tipos de contenido compatibles para tipos de clases comunes.
  • Para admitir el tipo dinámico en etiquetas, campos de texto y cuadros de texto, utilice el nuevo método PreferredFontForTextStyle de la clase UIFont.
  • Para decidir si un elemento debe actualizar la fuente cuando cambien los dispositivos UIContentSizeCategory, use la AdjustsFontForContentSizeCategory propiedad del UIContentSizeCategoryAdjusting delegado.
  • La aplicación ahora puede controlar la apariencia del distintivo para los elementos de la barra de pestañas, como el texto y el color de fondo.
  • El control de actualizar en ahora se admite en todas las vistas de desplazamiento y subclases de vistas de desplazamiento ( como por ejemploUICollectionView).
  • El método OpenURL de la clase UIApplication se llama de forma asincrónica ahora admite un controlador de finalización al que se llama una vez completada la apertura.
  • Inicie el uso compartido de CloudKit y modifique sus propiedades mediante las nuevas clases UICloudSharingController y UICloudSharingControllerDelegate.
  • Aproveche las celdas capturadas previamente para mejorar la experiencia de desplazamiento de UICollectionViews con el nuevo delegado UICollectionViewDataSourcePrefetching.