Cambios adicionales en el marco de macOS Sierra

Mejoras de Accelerate Framework

Se han realizado las siguientes mejoras en Accelerate Framework para macOS Sierra:

  • Se ha agregado Quadrature (cálculo integral).
  • Se han agregado funciones básicas para construir redes neuronales.
  • Se agregaron funciones de predicado geométrico para probar cosas como la intersección de dos objetos geométricos.

Mejoras de AppKit Framework

Se han realizado las siguientes mejoras en AppKit Framework para macOS Sierra:

  • Varias mejoras para NSCollectionView, por ejemplo:
    • Secciones contraíbles: permite al usuario contraer una sección Vista de colección en una sola fila horizontal.
    • Encabezados flotantes: los encabezados y pies de página ahora se pueden hacer flotantes (en un diseño de flujo) con la misma API que UICollectionView en iOS.
    • Vistas de fondo desplazables: ahora se puede establecer un fondo de vistas de colección para que se desplace junto con el contenido.
  • El paso de diseño de vista diferida se ha optimizado y ampliado.
  • La API de arrastrar y colocar ahora incluye las nuevas clases NSFilePromiseProvider y NSFilePromiseReceiver para admitir la agrupación de arrastre.
  • Se han agregado varios constructores de conveniencia a los controles existentes:
    • NSButton incluye nuevos constructores para crear botones de inserción, casillas y botones de radio.
    • NSTextField incluye nuevos constructores para crear etiquetas de ajuste y sin ajuste, etiquetas con atributos y campos de texto editables.
    • NSSegmentedControl incluye nuevos constructores para crear controles segmentados a partir de un grupo de etiquetas o imágenes.
    • NSSlider incluye nuevos constructores para crear controles deslizantes lineales horizontales.
    • NSImageView incluye nuevos constructores para crear vistas de imagen no editables a partir de un NSImage determinado.
  • El nuevo NSGridView se ha agregado al diseño automático de una colección de sub vistas en una cuadrícula con filas y columnas de tamaño variable que se pueden ocultar o mostrar dinámicamente.

Mejoras de AVFoundation Framework

Se han realizado las siguientes mejoras en AVFoundation Framework para macOS Sierra:

  • En macOS, la aplicación ya no tiene que implementar diferentes comportamientos de AVPlayerItem en función del 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 clase AVPlayerLooper facilita el bucle de un elemento multimedia determinado durante la reproducción.
  • La clase AVAssetDownloadURLSession permite la descarga y posterior reproducción de secuencias HLS cifradas de FairPlay.

Mejoras de Core Data Framework

Se han realizado las siguientes mejoras en Core Data Framework para macOS Sierra:

  • 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 Core Image Framework

Se han realizado las siguientes mejoras en Core Image Framework para macOS Sierra:

  • 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 dentro y fuera del espacio de colores antes y después del procesamiento.
  • El kernel de Core Image ahora puede solicitar formatos de salida de píxeles específicos.
  • Se han agregado los siguientes filtros de imagen nuevos: CINinePartTitled, CINinePartStretched, CIHueSaturationValueGradient, CIEdgePreserveUpsampleFilter y CIClamp.

Mejoras de Foundation Framework

Se han realizado las siguientes mejoras en Foundation Framework para macOS Sierra:

  • Use la API NSDimentions para representar, convertir y mostrar muchas de las unidades físicas más comunes, como masa, longitud, velocidad, duración y temperatura.
  • Use la clase NSISO8601DateFormatter para analizar y generar fechas con formato ISO 8601.
  • 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.
  • Use la clase NSPersonNameComponentsFormatter para analizar los elementos del nombre de una persona de una cadena.
  • Use la nueva clase NSURLSessionTaskMetrics para obtener métricas para una sesión de red URL.

Para obtener más información, consulte las Notas de la versión de Foundation para OS X v10.12 e iOS 10 de Apple.

Mejoras de GameKit Framework

Se han realizado las siguientes mejoras en GameKit Framework para macOS Sierra:

  • La aplicación Game Center ha quedado en desuso y se ha quitado de macOS. Si la aplicación usa GameKit, debe presentar su propia interfaz para mostrar características de GameKit, como tablas de clasificación, etc.
  • 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, Game Sessions pueden reemplazar las coincidencias basadas en turnos existentes, coincidencias en tiempo real o métodos de guardado de juegos persistentes.

Mejoras de GamePlayKit Framework

Se han realizado las siguientes mejoras en GamePlayKit Framework para macOS Sierra:

  • 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 Framework

Se han realizado las siguientes mejoras en Metal Framework para macOS Sierra:

  • 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 del modelo I/O Framework

Se han realizado las siguientes mejoras en el modelo I/O Framework para macOS Sierra:

  • 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 en Photos Framework

Se han realizado las siguientes mejoras en Photos Framework para macOS Sierra:

  • La edición de fotos en directo ahora está disponible para aplicaciones que admiten Photos Framework y las extensiones de edición de fotos (para su uso dentro de las aplicaciones Fotos y Cámara).
  • Use la nueva clase PHLivePhotoEditingContext para aplicar modificaciones tanto al vídeo como al contenido estático de Live Photos.
  • Utilice las clases CIImageProcessorInput y CIImageProcessorOutput para aprovechar la nueva función del procesador Core Image para realizar ediciones.
  • Para admitir Live Photos, las clases PHLivePhoto y PHLivePhotoView se han migrado de iOS a macOS.

Mejoras de SceneKit Framework

Se han realizado las siguientes mejoras en SceneKit Framework para macOS Sierra:

  • Ahora incluye un nuevo sistema de representación basado en física (PBR) para obtener resultados más realistas con una 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 del marco de seguridad

Se han realizado las siguientes mejoras en el marco de seguridad para macOS Sierra:

  • La interfaz SecKey se ha modernizado y unificado en todas las plataformas (iOS, tvOS, watchOS y macOS).

Mejoras de SpriteKit Framework

Se han realizado las siguientes mejoras en SpriteKit Framework para macOS Sierra:

  • 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.

Marcos nuevos

Se han agregado los marcos siguientes a macOS Sierra:

  • Marco de intenciones: este marco permite a la aplicación examinar las interacciones (como la ubicación o las acciones del usuario) y tomar medidas en función de esa información.
  • SafariServices Framework: este marco permite a la aplicación desarrollar extensiones de aplicación para Safari (como bloqueadores de contenido) tanto para macOS como para iOS.