Compartilhar via


Introdução ao iOS 10

Com o novo SDK do iOS 10, a Apple incluiu novas APIs e serviços que permitem ao desenvolvedor criar novas categorias de aplicativos e recursos. Um aplicativo iOS agora pode estender os aplicativos Mensagens, Siri, Telefone e Mapas para fornecer funcionalidades avançadas e envolventes ao usuário final que não estavam disponíveis anteriormente.

Para obter mais informações sobre o iOS 10, consulte a documentação do iOS + Apps da Apple.

O que há de novo no iOS 10

A Apple adicionou várias novas APIs e serviços no iOS 10, juntamente com muitas melhorias nos recursos existentes, incluindo:

Adaptando-se ao True Tone Display

A tecnologia True Tone Display da Apple usa o sensor de luz ambiente em um dispositivo iOS para ajustar dinamicamente a cor e a intensidade da tela para corresponder às condições de iluminação atuais. O iOS 10 fornece a nova chave UIWhitePointAdaptivityStyle que pode ser adicionada ao arquivo do aplicativo e controla como o True Tone aplica a mudança de Info.plist cor padrão.

Os seguintes valores estão disponíveis:

  • UIWhitePointAdaptivityStyleStandardPadrão - Use a adatividade de ponto em branco padrão.
  • UIWhitePointAdaptivityStyleReading - Usado para aplicativos focados em leitura.
  • UIWhitePointAdaptivityStyleGame - Usado para aplicativos focados em jogos.
  • UIWhitePointAdaptivityStyleVideo - Usado para aplicativos focados em vídeo.
  • UIWhitePointAdaptivityStylePhoto - Usado para aplicativos focados em fotografia onde a fidelidade de cor é mais importante do que ajustes de ponto branco ambiental.

Extensões de aplicativo

A Apple forneceu vários novos pontos de extensão de aplicativo no iOS 10:

  • Diretório de chamadas
  • Interface do usuário de intenções e intenções
  • Mensagens
  • Conteúdo da notificação
  • Notification Services
  • Pacote de adesivos

Além disso, as extensões de aplicativo de teclado de terceiros 3rd têm os seguintes aprimoramentos:

  • A nova DocumentInputMode propriedade da classe pode determinar o idioma de entrada de um documento e permitir que a extensão do UITextDocumentProxy teclado se alinhe a esse idioma.
  • O novo HandleInputModeList método permite que a extensão do teclado exiba o menu do seletor de teclado do sistema em resposta ao toque na tecla Globo.

Para obter mais informações, consulte nossa Introdução às extensões, Integração de aplicativos de mensagens, Introdução a sugestões proativas, Introdução ao SiriKit, Introdução às notificações do usuário e Guia de programação de extensões de aplicativos da Apple.

Aperfeiçoamentos na pesquisa de aplicativo

O Core Spotlight no iOS 10 fornece vários aprimoramentos para a Pesquisa de Aplicativos, como:

  • Popularidade de link profundo de crowdsourcing (com privacidade diferencial) - Fornece uma maneira de promover conteúdo de aplicativo com links profundos nos resultados de pesquisa.
  • Pesquisa no aplicativo - Use a nova CSSearchQuery classe para fornecer a capacidade de pesquisa do Spotlight no aplicativo semelhante ao funcionamento dos aplicativos Email, Mensagens e Anotações.
  • Continuação da pesquisa - Permite que um usuário inicie uma pesquisa no Spotlight ou no Safari e, em seguida, abra um aplicativo e continue essa pesquisa.
  • Visualização dos resultados da validação - A Ferramenta de validação da API de pesquisa de aplicativos da Apple agora exibe uma representação visual da marcação e da vinculação profunda de um site ao pré-formar testes.
  • Compartilhamento de imagens do aplicativo Mensagem - Permite que imagens populares no aplicativo fornecidas para compartilhamento no Mensagens (por meio de uma extensão do aplicativo Mensagem) apareçam nas pesquisas do Spotlight.

Para saber mais, consulte nosso guia de aprimoramentos de pesquisa de aplicativos.

Aprimoramentos do Apple Pay

A Apple fez várias melhorias no Apple Pay no iOS 10 que permitem ao usuário fazer pagamentos seguros a partir de sites e por meio da interação com Siri e Maps.

Com o iOS 10, várias novas APIs foram adicionadas que funcionam com iOS e watchOS para suportar redes de pagamento dinâmicas e um novo ambiente de teste de sandbox.

Além disso, a estrutura do PassKit foi expandida para oferecer suporte ao Apple Pay fora e permitir que os emissores de UIKit cartões apresentem seus cartões de dentro de seus aplicativos.

Para saber mais, consulte nosso guia de aprimoramentos do Apple Pay.

Ícones de aplicativos alternativos

A Apple adicionou várias melhorias ao iOS 10.3 que permitem que um aplicativo gerencie seu ícone:

  • ApplicationIconBadgeNumber - Obtém ou define o emblema do ícone do aplicativo no Springboard.
  • SupportsAlternateIcons - Se true o aplicativo tiver um conjunto alternativo de ícones.
  • AlternateIconName - Retorna o nome do ícone alternativo atualmente selecionado ou null se estiver usando o ícone principal.
  • SetAlternameIconName - Use este método para alternar o ícone do aplicativo para o ícone alternativo fornecido.

Para saber mais, consulte nosso guia de ícones de aplicativos alternativos .

Introdução ao CallKit

A nova API do CallKit no iOS 10 fornece uma maneira para os aplicativos VOIP se integrarem à interface do usuário do iPhone e fornecerem uma interface e experiência familiares para o usuário final. Com essa API, os usuários podem visualizar e interagir com chamadas VOIP a partir da tela de bloqueio do dispositivo iOS e gerenciar contatos usando as visualizações Favoritos e Recentes do aplicativo Telefone.

Além disso, a API do CallKit fornece a capacidade de criar extensões de aplicativo que podem associar um número de telefone a um nome (ID do chamador) ou informar ao sistema quando um número deve ser bloqueado (bloqueio de chamadas).

Para saber mais, consulte nosso guia de Introdução ao Callkit .

Integração do aplicativo de mensagens

O iOS 10 permite a inclusão de uma extensão de aplicativo de mensagem na solução Xamarin.iOS que se integra ao aplicativo Mensagens e apresenta novas funcionalidades ao usuário. A extensão pode enviar texto, adesivos, arquivos de mídia e mensagens interativas. Dois tipos de extensão de aplicativo de mensagem estão disponíveis:

  • Sticker Packs - Contém uma coleção de adesivos que o usuário pode adicionar a uma mensagem. Sticker Packs podem ser criados sem escrever qualquer código.
  • iMessage App - Pode apresentar uma interface de usuário personalizada dentro do aplicativo Mensagens para selecionar adesivos, inserir texto, incluindo arquivos de mídia (com conversões de tipo opcionais) e criar, editar e enviar mensagens de interação.

Para saber mais, consulte nosso guia de integração de aplicativos de mensagens.

Aprimoramentos do News Publisher

Com o iOS 10, a Apple permitirá que qualquer pessoa, desde grandes revistas e novas organizações até blogueiros e editores independentes, se inscreva e entregue conteúdo ao aplicativo Apple News. Para saber mais, consulte a documentação de Recursos de Notícias da Apple.

Como fornecer comentários hápticos

No iPhone 7 e iPhone 7 Plus, a Apple incluiu novas respostas hápticas que fornecem maneiras adicionais de envolver fisicamente o usuário. Use as novas opções de feedback tátil para chamar a atenção do usuário e reforçar suas ações.

Vários elementos internos da interface do usuário já fornecem feedback háptico, como Seletores, Switches e Controles Deslizantes. O iOS 10 agora adiciona a capacidade de acionar programaticamente hápticos usando uma subclasse concreta da UIFeedbackGenerator classe.

Para saber mais, consulte nosso guia Fornecendo feedback háptico.

Sugestões proativas

O iOS 10 apresenta novas formas de gerar engajamento com um aplicativo, permitindo que o sistema apresente proativamente informações úteis automaticamente ao usuário em momentos apropriados. Assim como o iOS 9 forneceu a capacidade de adicionar pesquisa profunda ao aplicativo usando Spotlight, Handoff e Siri Suggestions, com o iOS 10 um aplicativo pode expor funcionalidades que podem ser apresentadas ao usuário pelo sistema a partir dos seguintes locais:

  • O alternador de aplicativos
  • A tela de bloqueio
  • CarPlay
  • Mapas
  • Siri Interações
  • Sugestões QuickType

Um aplicativo expõe essa funcionalidade ao sistema usando uma coleção de tecnologias, como NSUserActivity, marcação web, Core Spotlight, MapKit, Media Player e UIKit.

Para saber mais, consulte nosso guia de Introdução às Sugestões Proativas.

Solicitação de revisão do aplicativo

Novo no iOS 10.3, o RequestReview() método permite que um aplicativo iOS peça ao usuário para avaliá-lo ou revisá-lo. Embora esse método possa ser chamado em qualquer ponto em que faça sentido na experiência do usuário, o processo de revisão é regido e tratado pela política da App Store. Como resultado, esse método pode ou não exibir um alerta e nunca deve ser chamado em resposta a uma ação do usuário, como tocar em um botão.

Para saber mais, consulte nosso guia Solicitar revisão de aplicativos.

Aprimoramentos de segurança e privacidade

A Apple fez várias melhorias na segurança e privacidade no iOS 10 que ajudarão o desenvolvedor a melhorar a segurança de seus aplicativos e garantir a privacidade do usuário final.

Como resultado, os aplicativos executados no iOS 10 (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.

Para saber mais, consulte nosso guia de Aprimoramentos de Segurança e Privacidade.

SiriKit

Novo no iOS 10, o SiriKit permite que um aplicativo Xamarin.iOS forneça serviços acessíveis ao usuário usando a Siri em um dispositivo iOS. Essa funcionalidade é fornecida em uma ou mais Extensões de Aplicativo usando as novas estruturas de interface do usuário Intents e Intents.

O SiriKit suporta os seguintes domínios de serviço:

  • Chamadas de áudio ou vídeo.
  • Reservar uma viagem.
  • Gerenciando treinos.
  • Mensagens.
  • Pesquisando fotos.
  • Envio ou recebimento de pagamentos.

Quando o usuário faz uma solicitação da Siri envolvendo um dos serviços da Extensão de Aplicativo, o SiriKit envia à extensão um objeto Intent que descreve a solicitação do usuário junto com quaisquer dados de suporte. Em seguida, a Extensão de Aplicativo gera o objeto Response apropriado para a intenção fornecida, detalhando como a extensão pode lidar com a solicitação.

Embora a Siri geralmente lide com toda a interação do usuário, a Extensão de Aplicativo pode usar a estrutura da Interface do Usuário de Intenção para apresentar uma Interface do Usuário avançada e personalizada com a marca do aplicativo e informações adicionais.

Para saber mais, consulte nosso guia de Introdução ao SiriKit .

Reconhecimento de fala

O iOS 10 inclui uma nova API de Fala que permite que o aplicativo suporte o reconhecimento contínuo de fala e transcreva a fala (de transmissões de áudio ao vivo ou gravadas) em texto.

Como o reconhecimento de fala requer a transmissão e o armazenamento temporário de dados nos servidores da Apple, o aplicativo deve solicitar a permissão do usuário para realizar o reconhecimento incluindo a NSSpeechRecognitionUsageDescription chave em seu Info.plist arquivo e chamando o SFSpeechRecognizer.RequestAutorization método.

Para saber mais, consulte nosso guia de Introdução ao Reconhecimento de Fala .

Notificações do usuário

Novidade no iOS 10, a estrutura de Notificação do Usuário permite a entrega e o manuseio de notificações locais e remotas. Usando essa estrutura, o aplicativo ou a Extensão de Aplicativo pode agendar a entrega de notificações locais especificando um conjunto de condições, como local ou hora do dia.

Além disso, o aplicativo ou extensão pode receber (e potencialmente modificar) notificações locais e remotas à medida que são entregues ao dispositivo iOS do usuário.

A nova estrutura da interface do usuário de Notificação do Usuário permite que o aplicativo ou a Extensão de Aplicativo personalize a aparência das notificações locais e remotas quando elas são apresentadas ao usuário.

Para saber mais, consulte nosso guia do User Notifications Framework .

Conta de assinante de vídeo

Novidade para o iOS 10, a estrutura de Conta de Assinante de Vídeo permite que aplicativos que oferecem suporte a streaming autenticado ou vídeo sob demanda se autentiquem com seu provedor de TV a cabo ou satélite usando uma experiência de Logon Único para o usuário final.

Cores amplas

O iOS 10 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, o UIKit 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:

  • O UIColor agora usa o espaço de cores sRGB e não fixará mais valores no 0.0 intervalo para 1.0 . Se o aplicativo depender do comportamento de grampo anterior, ele precisará ser modificado para o iOS 10.
  • O ambiente de desenho será configurado para o espaço de cores sRGB ao executar o desenho personalizado UIView em um iPad Pro.
  • Se o aplicativo executar renderização personalizada do UIImages, use a nova classe UIGraphicsImageRender para especificar o uso dos formatos de intervalo estendido ou de intervalo padrão.
  • Ao usar uma API de baixo nível, como Core Graphics ou Metal, para fornecer processamento de imagem, o desenvolvedor 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 desenvolvedor 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 .

Aprimoramentos do widget

A Apple introduziu várias melhorias no Sistema de Widgets para garantir que os widgets fiquem ótimos em qualquer plano de fundo existente na nova tela de bloqueio do iOS 10. A propriedade NotificationCenterVibrancyEffect foi preterida e substituída pelas novas propriedades WidgetPrimaryVibrancyEffect ou WidgetSecondaryVibrancyEffect . Além disso, os widgets agora contêm uma propriedade NCWidgetDisplayMode que permite ao desenvolvedor descrever quanto conteúdo está disponível e permite que o usuário expanda e recolha o conteúdo.

Para saber mais, consulte nosso guia de aprimoramentos de widgets de pesquisa e tela inicial.

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 iOS 10.

Para saber mais, consulte nosso guia de Alterações de Estrutura Adicionais.

APIs obsoletas

As seguintes APIs foram preteridas no iOS 10:

  • As CKDiscoverAllContactsOperationclasses , CKDiscoverUserInfosOperationCKDiscoveredUserInfoe CKFetchRecordChangesOperation foram preteridas no CloudKit para iOS 10. Use as classes CKDiscoverAllUserIdentitiesOperation, CKUserIdentity e CKFetchRecordZoneChangesOperation (que oferecem suporte ao compartilhamento de registros).
  • Várias APIs CKSubscription (como assinaturas baseadas em zona e consulta) foram preteridas. Em vez disso, use as APIs CKRecordZoneSubscription e CKQuerySubscription .
  • Os símbolos NSPersistentStoreCoordinator relacionados ao conteúdo onipresente foram preteridos.
  • ADBannerViewe ADInterstitialAd símbolos relacionados na classe UIViewController foram preteridos.
  • Os símbolos SKUniformes relacionados a valores de ponto flutuante foram preteridos.
  • As UILocalNotificationclasses , UIMutableUserNotificationAction, UIMutableUserNotificationCategory, UIUserNotificationCategoryUIUserNotificationActione UIUserNotificationSettings de UIKit foram preteridas. Em vez disso, use a estrutura de Notificações do Usuário.
  • Os HandleActionForLocalNotificationmétodos , DidReceiveLocalNotificationHandleActionForRemoteNotificatione DidReceiveRemoteNotification WatchKit foram preteridos. Em vez disso, use os HandleActionForNotification métodos e DidReceiveNotification .
  • Os DidReceiveLocalNotification métodos e DidReceiveRemoteNotification do WKExtensionDelegate foram preteridos. Crie uma instância de UNUserNotificationCenterDelegate que implementa os métodos apropriados e atribua-a Delegate à propriedade do objeto UNUserNotificationCenter .
  • O aplicativo Game Center foi preterido e removido do iOS. Se o aplicativo usa o GameKit, ele deve apresentar sua própria interface para exibir recursos do GameKit, como placares, etc.

Consulte a documentação de Diferenças de API do iOS 9.3 para iOS 10.0 da Apple para obter uma lista completa de depreciações.