Introducción a macOS Sierra

Con la nueva versión de macOS Sierra, el desarrollador puede aprovechar las nuevas API, que permiten al usuario final interactuar con sus aplicaciones y sitios web de maneras no disponibles anteriormente. Por ejemplo, Apple ahora permite a los sitios web ofrecer a los clientes no solo la opción de pagar de forma segura a través de Apple Pay, sino que también las mejoras de la plataforma Metal potencian el potencial de gráficos y computación de una aplicación.

Para más información sobre macOS Sierra, consulte la documentación de macOS + aplicaciones de Apple.

Novedades de macOS Sierra

Apple ha agregado varias API y servicios nuevos a macOS Sierra, junto con muchas mejoras de las características existentes, entre las que se incluyen:

Sistema de archivos de Apple

Con macOS Sierra, Apple ha lanzado el nuevo sistema de archivos de Apple como un sistema de archivos moderno para iOS, macOS, tvOS y watchOS. El sistema de archivos de Apple se ha optimizado para el almacenamiento Flash y en discos SSD, y proporciona las siguientes características: cifrado seguro, metadatos de copiar al escribir, uso compartido de espacio, clonación de archivos y directorios, instantáneas, ajuste rápido del tamaño de directorios y primitivas atómicas de guardado seguro.

Para más información, consulte la guía del sistema de archivos de Apple de Apple.

Mejoras de Apple Pay

Apple ha realizado en macOS Sierra varias mejoras en Apple Pay que permiten al usuario realizar pagos seguros desde sitios web.

Con macOS Sierra, se han agregado varias API nuevas que funcionan con macOS Sierra, iOS y watchOS para admitir redes de pago dinámicas y un nuevo entorno de prueba de espacio aislado.

macOS Sierra incluye la nueva plataforma JavaScript ApplePay, que permite al desarrollador incorporar Apple Pay directamente a sitios web basados en Safari de iOS y macOS. En los sitios web que admiten Apple Pay, el usuario puede autorizar el pago desde su iPhone o Apple Watch.

Para más información, consulte la referencia de ApplePay JS Framework de Apple.

Creación de aplicaciones modernas de macOS

Las aplicaciones modernas de macOS, como el explorador web Safari de Apple, el procesador de textos Pages y la hoja de cálculo Numbers, usan muchas tecnologías nuevas para presentar un Interfaz de usuario unificada y contextual en la que desaparecen elementos tradicionales como los paneles flotantes y la posibilidad de abrir varias ventanas.

Un ejemplo de ventana de Mac con pestañas

Nuestra guía Building Modern macOS Apps (Compilación de aplicaciones de macOS modernas) incluye varias sugerencias, características y técnicas que los desarrolladores pueden usar para compilar aplicaciones macOS modernas en Xamarin.Mac.

Uso compartido de datos en CloudKit

El marco CloudKit se ha ampliado en macOS Sierra, con el fin de que el usuario pueda compartir registros o conjuntos de registros de forma rápida y sencilla desde sus bases de datos privadas de iCloud.

CloudKit ofrece una completa interfaz de usuario para enviar y aceptar invitaciones de registros compartidos y el usuario tiene un control completo de lectura y escritura sobre las personas que tienen acceso a los registros.

Para más información, consulte la referencia del marco CloudKit de Apple y la referencia de marco JS de CloudKit.

Importante

Apple proporciona herramientas para ayudar a los desarrolladores a tratar correctamente el Reglamento general de protección de datos (RGPD) de la Unión Europea.

Compatibilidad con extensiones de la aplicación Safari

Las extensiones de la aplicación Safari permiten a la aplicación ampliar el comportamiento del explorador web Safari, al mismo tiempo que se integran perfectamente con macOS Sierra. Dado que las extensiones de la aplicación Safari de macOS funcionan de forma similar a las extensiones de la aplicación Safari de iOS, se portan fácilmente de un sistema a otro.

Para más información, consulte la guía de programación de las extensiones de la aplicación Safari de Apple.

Mejoras de seguridad y privacidad

Apple ha realizado en macOS Sierra varias mejoras tanto en la seguridad como en la privacidad que ayudarán a la aplicación a aumentar su seguridad y a garantizar la privacidad del usuario final, entre las que se incluyen las siguientes:

  • La nueva clave NSAllowsArbitraryLoadsInWebContent se puede agregar al archivo Info.plist de la aplicación y permitirá que las páginas web se carguen correctamente con la protección de Apple Transport Security (ATS) habilitada para el resto de la aplicación.
  • La API de Common Data Security Architecture (CDSA) está en desuso y debe reemplazarse por la API de SecKey para generar claves asimétricas.
  • Para todas las conexiones SSL/TLS, el cifrado simétrico RC4 está ahora deshabilitado por defecto. Además, la API de transporte seguro ya no es compatible con SSLv3 y se recomienda que la aplicación deje de utilizar la criptografía SHA-1 y 3DES lo antes posible.
  • Dado que el nuevo Portapapeles en iOS 10 y macOS Sierra permite al usuario copiar y pegar entre dispositivos, la API se ha ampliado para permitir que un Portapapeles se limite a un dispositivo específico y se le aplique una marca de tiempo para que se borre automáticamente en un momento dado. Además, las áreas de montaje con nombre ya no se conservan y deben sustituirse por los contenedores de áreas de montaje compartidos.
  • Si la aplicación accede a datos protegidos (como el calendario del usuario), debe declarar esa intención con la clave del valor de la cadena de propósito correcta en su archivo Info.plist (NSCalendarUsageDescription en el caso del calendario).
  • Las aplicaciones firmadas por el desarrollador que no se entregan a través de Mac App Store ahora pueden aprovechar los derechos de CloudKit, iCloud Keychain, iCloud Drive, notificaciones push remotas, MapKit y VPN.
  • macOS Sierra ha dejado de admitir la entrega de código o datos externos junto con la aplicación firmante de código en su archivo ZIP o una imagen de disco sin firmar, ya que la ruta de acceso en tiempo de ejecución no se conoce antes del tiempo de ejecución.

Además, las aplicaciones que se ejecutan en macOS Sierra (o posterior) deben declarar estáticamente su intención de acceder a características específicas o información de usuario. Para ello, es preciso escribir en sus archivos Info.plist una o varias claves específicas de privacidad que explique al usuario el motivo por el que la aplicación desea obtener acceso.

Dado que macOS Sierra comparte estos cambios con iOS 10, para más información consulte nuestra guía de mejoras de seguridad y privacidad de iOS 10.

Compatibilidad con la extensión del controlador de tarjeta inteligente

Con macOS Sierra, la aplicación puede crear controladores de tarjeta inteligente basados en NSExtension que permitan el acceso de solo lectura al contenido de determinados tipos de tarjetas inteligentes. Luego, esta información se presenta dentro de la cadena de claves del sistema (se debe reemplazar el método de Arquitectura común de detección de datos en desuso).

Para más información, consulte la referencia de marco CryptoTokenKit de Apple.

Registro unificado

El registro unificado proporciona a la aplicación una única API para lograr una mensajería eficaz en todos los niveles del sistema. Con el registro unificado, la aplicación tiene un control detallado sobre varios niveles de registro, que incluyen controles de privacidad y seguimiento de actividad para facilitar la depuración.

El registro proporciona correlación automática de mensajes cuando el seguimiento de actividad y el registro se usan conjuntamente.

macOS Sierra incluye una nueva aplicación de consola (en Aplicaciones/Utilidades) que puede mostrar datos de registro de varios orígenes, incluidos los dispositivos conectados. También admite búsquedas con tokens y guardadas, y muestra conexiones entre mensajes relacionados que se encuentran en varios procesos.

Además, los mensajes de registro se pueden ver y mantener mediante herramientas de línea de comandos.

Para más información, consulte la referencia de registro de Apple.

Color amplio

macOS Sierra amplía la compatibilidad con formatos de píxeles de intervalo extendido y espacios de color de gama amplia en todo el sistema, incluidos marcos como Core Graphics, Core Image, Metal y AVFoundation. La compatibilidad con dispositivos con pantallas de color ancho se facilita aún más al proporcionar este comportamiento a lo largo de toda la pila de gráficos.

Además, AppKit se ha modificado para trabajar en el nuevo espacio de colores extendido sRGB, lo que facilita la combinación de colores en amplias gamas cromáticas sin una pérdida significativa de rendimiento.

Apple ofrece los siguientes procedimientos recomendados al trabajar con colores amplios:

  • NSColor usa ahora el espacio de colores sRGB y ya no fijará los valores de 0.0 en el rango 1.0. Si la aplicación se basa en el comportamiento anterior de la fijación, tendrá que modificarse para macOS Sierra.
  • Cuando se usa una API de bajo nivel (como Core Graphics o Metal) para proporcionar el procesamiento de las imágenes, la aplicación debe utilizar un espacio de colores de rango extendido y un formato de píxel que admita valores de punto flotante de 16 bits. Cuando sea necesario, la aplicación tendrá que fijar manualmente los valores de los componentes de color.
  • Core Graphics, Core Image y Metal Performance Shaders proporcionan nuevos métodos para convertir entre los dos espacios de colores.

Para obtener más información, vea nuestra guía de Introducción a Wide Color.

Cambios de marco adicionales

Además de los principales cambios y adiciones del marco mencionados anteriormente, Apple ha realizado muchos cambios de marco menores adicionales en macOS Sierra.

Para obtener más información, consulte nuestra guía de cambios adicionales del marco.

Interfaces API desusadas

Las siguientes API han quedado en desuso en macOS Sierra:

  • Ya no se admite el sistema de archivos estándar HFS.

Consulte la documentación de las diferencias de la API de macOS v10.12 de Apple para obtener una lista completa de los cambios y las puestas en desuso.