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.
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 eRetrieveConnectedPeripherals
daCBCentralManager
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
daCKFetchRecordChangesOperation
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.
Links relacionados
- Introdução ao 3D Touch
- Segurança de transporte de aplicativo
- Multitarefa para iPad
- Interface do usuário de contatos e contatos
- Novas APIs de Pesquisa
- Introdução ao Modo de Exibição de Pilha
- Alterações no Modo de Exibição de Coleção
- Aprimoramentos de jogos
- Introdução ao HomeKit
- Introdução ao Handoff
- Alterações de estrutura adicionais do iOS 9
- Solução de problemas
- O que há de novo no iOS 9.0
- Atualizando seus aplicativos Xamarin.iOS para iOS9 (vídeo)