Introdução ao macOS Sierra
Com o novo macOS Sierra, o desenvolvedor pode aproveitar as novas APIs que permitem que o usuário final interaja com seus aplicativos e sites de maneiras anteriormente indisponíveis. Por exemplo, a Apple agora permite que os sites ofereçam aos clientes a opção de pagar com segurança por meio do Apple Pay e aprimoramentos na estrutura Metal aumentam o potencial gráfico e de computação de um aplicativo.
Para obter mais informações sobre o macOS Sierra, consulte a documentação do macOS + Apps da Apple.
O que há de novo no macOS Sierra
A Apple adicionou várias novas APIs e serviços no macOS Sierra, juntamente com muitas melhorias nos recursos existentes, incluindo:
Sistema de arquivos da Apple
Com o macOS Sierra, a Apple lançou o novo Apple File System como um sistema de arquivos moderno para iOS, macOS, tvOS e watchOS. O Apple File System foi otimizado para armazenamento Flash e SSD e fornece os seguintes recursos: criptografia forte, metadados de cópia na gravação, compartilhamento de espaço, clonagem para arquivos e diretórios, instantâneos, dimensionamento rápido de diretórios e primitivas de salvamento seguro atômico.
Para obter mais informações, consulte o Guia do Sistema de Arquivos da Apple da Apple.
Aprimoramentos do Apple Pay
A Apple fez várias melhorias no Apple Pay no macOS Sierra que permitem que o usuário faça pagamentos seguros a partir de sites.
Com o macOS Sierra, várias novas APIs foram adicionadas que funcionam com o macOS Sierra, iOS e watchOS para suportar redes de pagamento dinâmicas e um novo ambiente de teste de sandbox.
O macOS Sierra inclui a nova estrutura Javascript do ApplePay que permite ao desenvolvedor incorporar o Apple Pay diretamente em sites baseados no iOS e macOS Safari. Para sites compatíveis com o Apple Pay, o usuário pode autorizar o pagamento usando o iPhone ou o Apple Watch.
Para obter mais informações, consulte a referência do ApplePay JS Framework da Apple.
Compilando aplicativos macOS modernos
Os aplicativos modernos do macOS, como o navegador Safari da Apple, o processador de texto Pages e a planilha Numbers, usam muitas novas tecnologias para apresentar uma interface de usuário unificada e sensível ao contexto que elimina os elementos tradicionais da interface do usuário, como painéis flutuantes e várias janelas abertas.
Nosso guia Building Modern macOS Apps aborda várias dicas, recursos e técnicas que um desenvolvedor pode usar para criar um aplicativo macOS moderno no Xamarin.Mac.
Compartilhamento de dados do CloudKit
A estrutura do CloudKit foi expandida no macOS Sierra para permitir que o usuário compartilhe de forma rápida e fácil registros ou conjuntos de registros de seus bancos de dados privados do iCloud.
O CloudKit fornece uma interface do usuário completa para enviar e aceitar convites de registros compartilhados e o usuário tem controle total de leitura/gravação sobre as pessoas que têm acesso aos registros.
Para obter mais informações, consulte CloudKit Framework Reference da Apple e CloudKit JS Framework Reference.
Importante
A Apple fornece ferramentas para ajudar os desenvolvedores a lidar adequadamente com o GDPR (Regulamento Geral sobre a Proteção de Dados) da União Europeia.
Suporte às extensões de aplicativos do Safari
As Extensões de Aplicativo do Safari permitem que o aplicativo estenda o comportamento do navegador Safari enquanto está totalmente integrado ao macOS Sierra. Como as Extensões de Aplicativo do macOS Safari funcionam de forma semelhante às Extensões de Aplicativo do Safari do iOS, elas são fáceis de portar de um sistema para outro.
Para obter mais informações, consulte o Guia de Programação da Extensão de Aplicativo Safari da Apple.
Aprimoramentos de segurança e privacidade
A Apple fez várias melhorias na segurança e privacidade no macOS Sierra que ajudarão o aplicativo a melhorar a segurança do aplicativo e garantir a privacidade do usuário final, incluindo o seguinte:
- A nova
NSAllowsArbitraryLoadsInWebContent
chave pode ser adicionada ao arquivo do aplicativo e permitirá que asInfo.plist
páginas da Web sejam carregadas corretamente enquanto a proteção do Apple Transport Security (ATS) ainda está ativada para o resto do aplicativo. - A API CDSA (Common Data Security Architecture) foi preterida e deve ser substituída pela API SecKey para gerar chaves assimétricas.
- Para todas as conexões SSL/TLS, a cifra simétrica RC4 agora está desabilitada por padrão. Além disso, a API de Transporte Seguro não oferece mais suporte a SSLv3 e é recomendável que o aplicativo pare de usar criptografia SHA-1 e 3DES o mais rápido possível.
- Como a nova Área de Transferência no iOS 10 e no macOS Sierra permite que o usuário copie e cole entre dispositivos, a API foi expandida para permitir que uma área de transferência seja limitada a um dispositivo específico e tenha carimbo de data/hora para ser limpa automaticamente em um determinado ponto. Além disso, as pasteboards nomeadas não são mais persistentes e devem ser substituídas pelos contêineres de pasteboard compartilhados.
- Se o aplicativo acessar dados protegidos (como o Calendário do usuário), ele deverá declarar essa intenção com a chave de valor de cadeia de caracteres de finalidade correta em seu
Info.plist
arquivo (NSCalendarUsageDescription
no caso do Calendário). - As aplicações assinadas pelo programador que não são entregues através da Mac App Store podem agora tirar partido do CloudKit, do Porta-chaves iCloud, do iCloud Drive, das notificações push remotas, do MapKit e dos direitos VPN.
- O macOS Sierra não suporta mais a entrega de código externo ou dados junto com o aplicativo de assinatura de código em seu arquivo zip ou imagem de disco não assinada, pois o caminho de tempo de execução não é conhecido antes do tempo de execução.
Além disso, os aplicativos executados no macOS Sierra (ou posterior) devem declarar estaticamente sua intenção de acessar recursos específicos ou informações do usuário, inserindo uma ou mais Chaves Específicas de Privacidade em seus Info.plist
arquivos que explicam ao usuário por que o aplicativo deseja obter acesso.
Como o macOS Sierra compartilha essas alterações com o iOS 10, consulte nosso guia de aprimoramentos de segurança e privacidade do iOS 10 para obter mais informações.
Suporte de extensão de driver de cartão inteligente
Com o macOS Sierra, o aplicativo pode criar NSExtension
drivers de cartão inteligente baseados que permitem acesso somente leitura ao conteúdo de certos tipos de cartões inteligentes. Essas informações são então apresentadas dentro do conjunto de chaves do sistema (substituindo o método preterido Common Data Security Architecture).
para obter mais informações, consulte a Referência do Framework CryptoTokenKit da Apple.
Log unificado
O Log Unificado fornece ao aplicativo uma única API para mensagens eficientes em todos os níveis do sistema. Com o Log Unificado, o aplicativo tem controle refinado sobre vários níveis de registro em log que incluem controles de privacidade e rastreamento de atividades para facilitar a depuração.
O registro em log fornece correlação automática de mensagens quando o controle de atividades e o registro em log são usados juntos.
O macOS Sierra inclui um novo aplicativo de console (em Aplicativos/Utilitários) que é capaz de exibir dados de log de várias fontes, incluindo dispositivos conectados. Ele também oferece suporte a pesquisas tokenizadas e salvas e exibe conexões entre mensagens relacionadas em vários processos.
Além disso, as mensagens de log podem ser exibidas e mantidas usando ferramentas de linha de comando.
Para obter mais informações, consulte a Referência de registro em log da Apple.
Cores amplas
O macOS Sierra estende o suporte para formatos de pixel de alcance estendido e espaços de cores de ampla gama em todo o sistema, incluindo estruturas como Core Graphics, Core Image, Metal e AVFoundation. O suporte para dispositivos com telas coloridas amplas é ainda mais facilitado ao fornecer esse comportamento em toda a pilha de gráficos.
Além disso, AppKit
foi modificado para funcionar no novo espaço de cores sRGB estendido, facilitando a mistura de cores em amplas gamas de cores sem perda significativa de desempenho.
A Apple oferece as seguintes práticas recomendadas ao trabalhar com cores amplas:
NSColor
agora usa o espaço de cores sRGB e não vai mais fixar valores para o0.0
intervalo para1.0
. Se o aplicativo depender do comportamento de clamp anterior, ele precisará ser modificado para o macOS Sierra.- Ao usar uma API de baixo nível, como Core Graphics ou Metal, para fornecer processamento de imagem, o aplicativo deve usar um espaço de cores de intervalo estendido e um formato de pixel que ofereça suporte a valores de ponto flutuante de 16 bits. Quando necessário, o aplicativo terá que fixar manualmente os valores dos componentes de cor.
- Core Graphics, Core Image e Metal Performance Shaders fornecem novos métodos para conversão entre os dois espaços de cores.
Para saber mais, consulte nosso guia de Introdução a cores amplas .
Alterações adicionais na estrutura
Além das principais mudanças de estrutura e adições listadas acima, a Apple fez muitas pequenas mudanças de estrutura adicionais no macOS Sierra.
Para saber mais, consulte nosso guia de Alterações de Estrutura Adicionais.
APIs obsoletas
As seguintes APIs foram preteridas no macOS Sierra:
- O sistema de arquivos padrão HFS não é mais suportado.
Consulte a documentação de Diffs da API do macOS v10.12 da Apple para obter uma lista completa de depreciações e alterações.