Introdução ao iOS 9

Este artigo apresenta todas as APIs e recursos novos e modificados disponíveis no iOS 9 para desenvolvedores Xamarin.iOS.

O logotipo do iOS 9

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

3D Touch

Novo no iOS 9 e no iPhone 6s e iPhone 6s Plus, o 3D Touch adiciona gestos sensíveis à pressão aos seus aplicativos iOS. Com o 3D Touch, um aplicativo para iPhone agora é capaz de não apenas dizer que o usuário está tocando na tela do dispositivo, mas também pode sentir quanta pressão o usuário está exercendo e responder aos diferentes níveis de pressão.

O 3D Touch fornece os seguintes recursos ao seu aplicativo:

  • Sensibilidade à pressão - Os aplicativos agora podem medir o quão duro ou leve o usuário está tocando na tela e aproveitar essas informações. Por exemplo, um aplicativo de pintura pode tornar uma linha mais grossa ou mais fina com base na intensidade com que o usuário está tocando na tela.
  • Peek and Pop - Seu aplicativo agora pode permitir que o usuário interaja com seus dados sem precisar navegar para fora do contexto atual. Ao pressionar com força na tela, eles podem espiar o item em que estão interessados (como visualizar uma mensagem). Ao pressionar mais, eles podem entrar no item.
  • Ações Rápidas - Pense nas Ações Rápidas, como os menus contextuais que podem ser exibidos quando um usuário clica com o botão direito do mouse em um item em um aplicativo da área de trabalho. Usando as Ações Rápidas, você pode adicionar atalhos comuns, rápidos e fáceis de acessar às funções em seu aplicativo a partir do ícone da tela inicial no dispositivo iOS.

Para saber mais, consulte nosso guia de Introdução ao 3D Touch .

Segurança do transporte de aplicativo

Novo no iOS 9, o ATS (App Transport Security) impõe conexões seguras entre recursos da Internet (como o servidor back-end do aplicativo) e seu aplicativo. O ATS garante que todas as comunicações pela Internet estejam em conformidade com as práticas recomendadas de conexão segura, evitando assim a divulgação acidental de informações confidenciais diretamente por meio de seu aplicativo ou de uma biblioteca que ele está consumindo.

Como o ATS é habilitado por padrão em aplicativos criados para iOS 9 e OS X 10.11 (El Capitan), todas as conexões usando NSUrlConnection, CFUrl ou NSUrlSession estarão sujeitas aos requisitos de segurança do ATS. Se suas conexões não atenderem a esses requisitos, elas falharão com uma exceção.

Para saber mais sobre o ATS, consulte nosso guia de Segurança de Transporte de Aplicativos.

Multitarefa para iPad

Com o iOS 9, a Apple adicionou suporte multitarefa para executar dois aplicativos ao mesmo tempo em hardware específico do iPad. Como resultado, seus aplicativos Xamarin.iOS não podem mais assumir que eles são o único aplicativo em execução a qualquer momento ou que eles têm acesso à tela inteira ou recursos do dispositivo.

A multitarefa para iPad é suportada através das seguintes funcionalidades:

  • Slide Over - Permite que o usuário execute temporariamente um segundo aplicativo iOS em um painel deslizante (no lado direito ou esquerdo da tela com base na direção do idioma) que cobre aproximadamente 25% do aplicativo principal em execução no momento. O Slide Over está disponível apenas num iPad Pro, iPad Air, iPad Air 2, iPad Mini 2, iPad Mini 3 ou iPad Mini 4.
  • Split View - No hardware compatível do iPad (apenas iPad Air 2, iPad Mini 4 e iPad Pro), o usuário pode escolher um segundo aplicativo e executá-lo lado a lado com o aplicativo atualmente em execução em um modo de tela dividida. O usuário pode controlar a porcentagem da tela principal que cada aplicativo ocupa.
  • Imagem em Imagem - Para aplicativos que reproduzem conteúdo de vídeo, o vídeo agora pode ser reproduzido em uma janela móvel e redimensionável que flutua sobre os outros aplicativos atualmente em execução no dispositivo iOS. O usuário tem controle total sobre o tamanho e a posição desta janela. O Picture in Picture está disponível apenas num iPad Pro, iPad Air, iPad Air 2, iPad Mini 2, iPad Mini 3 ou iPad Mini 4.

Para saber mais sobre as novas habilidades multitarefa do iOS 9, consulte nosso guia Multitarefa para iPad .

Novas estruturas de interface do usuário de contatos e contatos

Com a introdução do iOS 9, a Apple lançou duas novas estruturas, Contatos e ContactsUI, que substituem as estruturas existentes Address Book e Address Book UI usadas pelo iOS 8 e anteriores.

Essas novas estruturas orientadas a objetos fornecem o seguinte:

  • Contatos – Fornece acesso Xamarin.iOS às informações de contato do usuário. Como a maioria dos aplicativos requer apenas acesso somente leitura, essa estrutura foi otimizada para acesso seguro de thread e somente leitura.
  • ContactsUI – Fornece elementos da interface do usuário do Xamarin.iOS para exibir, editar, selecionar e criar contatos em dispositivos iOS.

Para obter mais informações, consulte nossa documentação da interface do usuário de Contatos e Contatos.

Novas APIs de Pesquisa

A pesquisa foi expandida no iOS 9 para fornecer novas e excelentes maneiras de acessar informações dentro do seu aplicativo Xamarin.iOS. Usando as novas APIs de Pesquisa, você pode tornar o conteúdo do seu aplicativo pesquisável por meio dos resultados de pesquisa do Spotlight e do Safari, dos Lembretes e Sugestões do Handoff e da Siri. Isso permite que os usuários acessem rapidamente atividades e informações em seu aplicativo.

Além disso, as novas APIs de Pesquisa facilitam a integração da pesquisa em seu aplicativo sem experiência prévia de implementação de pesquisa. Por causa disso, a Apple afirma que normalmente leva algumas horas para tornar o conteúdo de um aplicativo iOS 9 universalmente pesquisável usando a Pesquisa de Aplicativos.

Para obter mais informações, consulte nossa documentação de aprimoramentos de pesquisa.

Nova visualização de pilha

O controle Stack View (UIStackView aproveita o poder das Classes de Layout Automático e Tamanho para gerenciar uma pilha de subvisualizações (horizontal ou verticalmente) que responde dinamicamente à orientação e ao tamanho da tela do dispositivo iOS.

Usando o controle Stack View, a quantidade de trabalho necessária para criar o layout de uma interface do usuário é bastante reduzida. O layout de todas as subexibições anexadas a uma Exibição de Pilha é gerenciada automaticamente com base em propriedades definidas pelo desenvolvedor, como eixo, distribuição, alinhamento e espaçamento.

Para obter mais informações, consulte nossa documentação de Introdução ao Stack View .

Alterações no Modo de Exibição de Coleção

No iOS 9, o Modo de Exibição de Coleção (UICollectionView agora oferece suporte à reordenação de arrastar itens para fora da caixa, adicionando um novo reconhecedor de gestos padrão e vários novos métodos de suporte.

Usando esses novos métodos, você pode facilmente implementar arrastar para reordenar em sua Exibição de coleção e ter a opção de personalizar a aparência dos itens durante qualquer estágio do processo de reordenação.

Para saber mais sobre as alterações da Vista de Coleção para iOS 9, consulte o nosso guia de Alterações da Vista de Coleção .

Aprimoramentos do jogo

Com o iOS 9, a Apple fez várias melhorias tecnológicas nas APIs de jogos que facilitam a implementação de gráficos e áudio de jogos em seu aplicativo Xamarin.iOS. Isso inclui a facilidade de desenvolvimento por meio de estruturas de alto nível e o aproveitamento do poder da GPU do dispositivo iOS para melhorar a velocidade e as habilidades gráficas com aprimoramentos de baixo nível.

Isso inclui GameplayKit, ReplayKit, Model I/O, MetalKit e Metal Performance Shaders, juntamente com novos recursos aprimorados de Metal, SceneKit e SpriteKit.

Para obter mais informações, consulte nossa documentação de Aprimoramentos do jogo.

Alterações na estrutura do HomeKit

A estrutura HomeKit , introduzida no iOS 8, fornece a capacidade de configurar e controlar vários acessórios habilitados para HomeKit (como luzes automatizadas, fechaduras de porta e abridores de porta de garagem) a partir de um aplicativo Xamarin.iOS. Além de serem fáceis de instalar e configurar, os acessórios do HomeKit podem ser controlados por meio de comandos falados da Siri.

No iOS 9, a Apple facilitou a configuração, expandiu os tipos de acessórios suportados e forneceu mais interações acessórias (como controlar um acessório remotamente via iCloud).

Para obter mais informações, consulte nossa Introdução ao HomeKit e a documentação do HomeKit da Apple.

Alterações na estrutura de transferência

O Handoff (também conhecido como Continuity) foi introduzido pela Apple no iOS 8 e OS X Yosemite (10.10) como uma forma de o usuário iniciar uma atividade em um de seus dispositivos (iOS ou Mac) e continuar essa mesma atividade em outro de seus dispositivos (conforme identificado pela Conta do iCloud do usuário).

O Handoff foi expandido no iOS 9 para também oferecer suporte a novos recursos de pesquisa aprimorados. Para obter mais informações, consulte nossa documentação de aprimoramentos de pesquisa. Para obter mais informações sobre como usar o Handoff, consulte nossa documentação de Introdução ao Handoff .

Novos pontos de extensão

No iOS 8, a Apple introduziu as Extensões — bibliotecas que são apresentadas pelo sistema operacional em contextos padrão, como na Central de Notificações, quando o usuário solicita um teclado ou quando está editando uma foto.

Com o iOS 9, a Apple está estendendo o suporte à extensão, fornecendo vários novos pontos de extensão que definem políticas de uso e fornecem APIs para trabalhar em uma determinada área da seguinte maneira:

  • Novo Ponto de Extensão de Unidade de Áudio – Use este Ponto de Extensão para fornecer efeitos de áudio, instrumentos musicais, geradores de som, etc. para uso em outros aplicativos host de Unidade de Áudio (como o GarageBand). Este Ponto de Extensão também permite que você venda Unidades de Áudio (plug-ins de áudio) na App Store.
  • Novo Ponto de Extensão de Manutenção de Índice — Use este Ponto de Extensão para dar suporte à reindexação de dados de aplicativos sem exigir a reinicialização do aplicativo.
  • Novos Pontos de Extensão de Rede (requerem permissão especial da Apple):
    • Extensão do Provedor de Proxy de Aplicativo — Use este Ponto de Extensão para implementar um proxy de rede do lado do cliente transparente personalizado.
    • Filter Data Provider / Filter Control Provider Extension - Use esses Pontos de Extensão para implementar a filtragem dinâmica de conteúdo de rede no dispositivo.
    • Extensão do provedor de túnel de pacote — Use este ponto de extensão para implementar um protocolo de encapsulamento VPN personalizado do lado do cliente.
  • Novos pontos de extensão do Safari:
    • Extensão de bloqueio de conteúdo — Use este ponto de extensão para definir uma lista de conteúdo bloqueado que não será exibido quando o usuário estiver navegando na Web.
    • Extensão de Links Compartilhados — Use este Ponto de Extensão para habilitar a visualização do conteúdo do seu aplicativo nos Links Compartilhados do Safari.

Para obter mais informações, consulte nossa documentação de Introdução às extensões e Guia de programação de extensões de aplicativos da Apple.

Aprimoramentos do Chaveiro

No iOS 9, a Apple aprimorou as chaves para fornecer um novo tipo de chave de criptografia para o Secure Enclave e mais opções de proteção de itens da seguinte maneira:

  • Uma nova restrição de Touch ID que invalida itens do Conjunto de Chaves quando o banco de dados de impressão digital é modificado.
  • Novas restrições que permitem criar entradas da Lista de Controle de Acesso somente com Touch ID ou Senha.
  • Um novo contexto de autenticação que permite invocar a autenticação separadamente das SecItem chamadas.
  • Entropia da Lista de Controle de Acesso (usando a opção Senha do Aplicativo) para criptografia de item de chaveiro fornecido pelo aplicativo.
  • Suporte para geração e uso de chaves dentro do enclave seguro (através do kSecAttrTokenIDSecureEnclave atributo).

Para obter mais informações, consulte Touch ID e Face ID no Xamarin.iOS.

Suporte a idiomas da direita para a esquerda

No iOS 9, a Apple tornou a apresentação de uma interface de usuário invertida mais fácil do que nunca, fornecendo suporte completo para idiomas da direita para a esquerda. Isso inclui o seguinte:

  • Os controles UIKit padrão serão automaticamente virados da direita para a esquerda com base nas configurações de idioma e localidade dos dispositivos iOS.
  • A classe UIView fornece atributos que permitem definir como um determinado modo de exibição deve aparecer quando invertido da direita para a esquerda.
  • A capacidade de inverter uma imagem programaticamente usando a propriedade FlipsForRightToLeftLayoutDirection da classe UIImage .

Para obter mais informações, consulte a documentação de suporte de idiomas da direita para a esquerda da Apple.

Alterações adicionais na estrutura

Além das principais mudanças que abordamos acima, a Apple fez modificações e melhorias em várias estruturas existentes para o iOS 9, incluindo o seguinte:

  • Estrutura da Fundação AV
  • Estrutura AVKit
  • Estrutura do CloudKit
  • Estrutura da Fundação
  • Estrutura de transferência
  • Estrutura do HealthKit
  • Estrutura do HomeKit
  • Estrutura de autenticação local
  • Estrutura MapKit
  • Estrutura do PassKit
  • Estrutura de Serviços Safari
  • Estrutura UIKit

Para obter mais informações, consulte nossa documentação adicional de alterações na estrutura do iOS 9.

APIs e funções preteridas

A Apple preteriu as seguintes APIs e funções no iOS 9:

  • Interface do usuário do Catálogo de Endereços & Catálogo de Endereços - Essas APIs foram substituídas pelas estruturas da interface do usuário de Contato e Contato. Para obter mais informações, consulte nossa documentação da interface do usuário de Contatos e Contatos.
  • CBCentralManager - Os RetrievePeripherals métodos e RetrieveConnectedPeripherals da CBCentralManager classe foram removidos no iOS 9. Chamar esses métodos fará com que um aplicativo falhe ao emparelhar um acessório ou na inicialização do aplicativo.
  • FetchAllChanges - A FetchAllChanges da CKFetchRecordChangesOperation classe foi depreciada e será removida no iOS 9.
  • Media Player - A estrutura do Media Player foi preterida no iOS 9. Em vez disso, use as APIs AVKit ou AV Foundation.

Para obter uma lista completa de substituições de API específicas, consulte a documentação de comparações de API do iOS 9.0 da Apple.