Introdução ao iOS 8
Com o iOS 8, a Apple forneceu uma infinidade de novas estruturas e APIs para empolgar e encantar os desenvolvedores. Neste guia, apresentaremos essas novas APIs e veremos como o iOS 8 pode beneficiar desenvolvedores e usuários.
O iOS 7 mudou visualmente toda a interface do usuário do iOS a partir do que os usuários e desenvolvedores esperavam, desde o primeiro sistema operacional do iPhone. O IOS 8 continua com isso, fornecendo muitas estruturas para desenvolvedores, o que permite que os usuários controlem quase todos os aspectos de sua vida diretamente de seu iPhone. Por exemplo, saúde e condicionamento físico podem ser analisados com HealthKit, senhas são obsolescentes com autenticação biométrica usando LocalAuthentication, extensões de aplicativo abrem um canal de comunicação entre aplicativos de terceiros e HomeKit permite a capacidade de transformar sua casa em uma Casa do Futuro.
Se o iOS 7 era sobre encantar os usuários, o iOS 8 se concentra em encantar os desenvolvedores com toda uma gama dessas novas ferramentas saborosas.
Este guia apresenta as novas APIs para desenvolvedores Xamarin.iOS.
Há também algumas APIs que foram preteridas no iOS 8, que são detalhadas no final deste documento.
Requisitos
Os itens a seguir são necessários para criar aplicativos iOS 8 no Visual Studio para Mac:
- Xcode 7 e iOS 8 ou mais recente – as APIs Xcode e iOS mais recentes da Apple precisam ser instaladas e configuradas no computador do desenvolvedor.
- Visual Studio para Mac – A versão mais recente do Visual Studio para Mac deve ser instalada e configurada no dispositivo do usuário.
- Dispositivo ou simulador iOS 8 – Um dispositivo iOS que executa a versão mais recente do iOS 8 para teste.
Casa e Lazer
O iOS 8 ajudou a plantar firmemente a Apple e o dispositivo iOS diretamente no coração da sua casa através do uso do HomeKit e do HealthKit. Nesta seção, veremos como essas novas estruturas funcionam e como elas podem ser integradas ao seu aplicativo Xamarin.iOS.
HomeKit
Controlar seus aparelhos a partir do seu iPhone não é uma nova aplicação da tecnologia; muitos produtos de casa conectada podem ser controlados por meio de um aplicativo iOS. No entanto, o HomeKit agora leva isso um passo adiante, promovendo um protocolo comum para dispositivos de automação residencial e disponibilizando uma API pública para certos fabricantes, como iHome, Philips e Honeywell. Para o usuário, isso significa que ele pode controlar quase todos os aspectos de sua casa perfeitamente de dentro de um aplicativo. É irrelevante para eles saber que estão usando uma lâmpada Philips Hue, ou um alarme Nest. Os usuários também podem encadear vários processos de casa inteligente juntos em "Cenas".
Com o HomeKit, aplicativos de terceiros e a Siri podem descobrir acessórios e adicioná-los ao banco de dados de configuração pessoal da casa, editar e agir com base nesses dados e se comunicar com acessórios e seus serviços para executar uma ação.
Configuração
O diagrama abaixo mostra a hierarquia básica da configuração dos acessórios do HomeKit:
Para começar a usar o HomeKit, os desenvolvedores precisarão verificar se o perfil de provisionamento tem o serviço HomeKit selecionado. A Apple também forneceu aos desenvolvedores um suplemento de simulador HomeKit para Xcode. Isso pode ser encontrado no Apple Developer Center, em Hardware IO Tools for Xcode
.
Para obter mais informações, consulte nosso guia HomeKit .
HealthKit
HealthKit é uma estrutura introduzida no iOS 8 que fornece um armazenamento de dados centralizado, coordenado e seguro para informações relacionadas à saúde. O sistema operacional garante a privacidade e a segurança das informações de saúde e, com o aplicativo Saúde, um painel para o usuário. Com a permissão do usuário, os aplicativos podem ler e gravar uma ampla variedade de informações de saúde.
Para obter mais informações sobre como usar isso em seu aplicativo Xamarin.iOS, consulte o guia Introdução ao HealthKit .
Estendendo a funcionalidade do iPhone
Com o iOS8, os desenvolvedores estão recebendo muito mais controle sobre quem pode usar seu aplicativo e maior capacidade de comunicação mais aberta entre aplicativos de terceiros. Recursos como as Extensões de Aplicativos e o Seletor de Documentos abrem um mundo de possibilidades de como os aplicativos podem ser usados no ecossistema da Apple.
Extensões de aplicativo
As Extensões de Aplicativo, para simplificar demais, são uma maneira de aplicativos de terceiros se comunicarem entre si. Para manter altos padrões de segurança e manter a integridade dos aplicativos em área restrita, essa comunicação não acontece diretamente entre aplicativos. Em vez disso, é realizado por uma extensão no meio.
A primeira etapa na criação de uma Extensão de Aplicativo é definir o ponto de extensão correto — isso é importante para garantir o comportamento e a disponibilidade das APIs corretas. Para criar uma extensão de aplicativo no Visual Studio para Mac, adicione-a a um aplicativo existente adicionando um novo projeto à sua solução.
Na caixa de diálogo Novo projeto, navegue até Extensões de API>unificadas do C#>iOS>, conforme ilustrado na captura de tela abaixo:
A caixa de diálogo Novo Projeto fornece sete novos modelos de projeto para criar Extensões de Aplicativo e são discutidos abaixo. Observe que muitas das extensões estão relacionadas a outras novas APIs no iOS, como o Seletor de Documentos:
- Ação – Isso permite que os desenvolvedores criem botões de ação personalizados exclusivos, permitindo que os usuários executem determinadas tarefas
- Teclado personalizado – Isso permite que os desenvolvedores adicionem à gama de teclados Apple integrados, adicionando seu próprio personalizado. O teclado popular, Swype usa isso para trazer seu teclado para iOS.
- Seletor de Documentos – Contém um Controlador de Exibição do Seletor de Documentos que permite que os usuários acessem arquivos fora da área restrita do aplicativo.
- Provedor de Arquivos do Seletor de Documentos – Fornece armazenamento seguro para arquivos usando o Seletor de Documentos .
- Edição de fotos – Isso expande os filtros e ferramentas de edição já fornecidos pela Apple no aplicativo Fotos para dar aos usuários mais controle e mais opções ao editar suas fotos.
- Hoje – Isso dá aos aplicativos a capacidade de exibir widgets na seção Hoje da Central de Notificações.
Para obter mais informações sobre como usar extensões de aplicativo no Xamarin, consulte o guia Introdução às extensões de aplicativo.
ID de Toque
O Touch ID foi introduzido no iOS 7 como um meio de autenticar o usuário, semelhante a uma senha. No entanto, limitava-se a desbloquear o dispositivo, usar a App Store, usar o iTunes e autenticar apenas as chaves do iCloud
Agora há duas maneiras de usar o Touch ID como um mecanismo de autenticação em aplicativos do iOS 8 usando a API de Autenticação Local. No momento, não é possível usar a Autenticação Local para autenticar remotamente.
Em primeiro lugar, ele auxilia os serviços de Chaveiro existentes por meio do uso de novas Listas de Controle de Acesso (ACLs) de Chaves. Os dados das chaves podem ser desbloqueados com a autenticação bem-sucedida de uma impressão digital do usuário.
Em segundo lugar, LocalAuthentication fornece dois métodos para autenticar seu aplicativo localmente. Os desenvolvedores devem usar CanEvaluatePolicy
para determinar se o dispositivo é capaz de aceitar o Touch ID e, em seguida EvaluatePolicy
, para iniciar a operação de autenticação.
Para obter mais informações sobre o Touch ID e saber como integrá-lo a um aplicativo Xamarin.iOS, consulte Touch ID e Face ID nos guias do Xamarin.iOS .
Seletor de documentos
O Seletor de Documentos funciona com uma unidade do iCloud para permitir que o usuário abra arquivos criados em um aplicativo diferente, importe-os e manipule-os e exporte-os novamente. Isso cria um fluxo de trabalho intuitivo e, portanto, uma experiência muito melhor para os usuários. A sincronização do iCloud leva isso um passo adiante: quaisquer alterações feitas em um aplicativo também serão refletidas de forma consistente em todos os seus dispositivos.
Para saber mais sobre o Seletor de Documentos e como integrá-lo a um aplicativo Xamarin.iOS, consulte o guia Introdução ao Seletor de Documentos.
Entrega
O Handoff, que faz parte do recurso maior de continuidade, dá um passo adiante na integração do OS X e do iOS. Isso inclui o AirDrop multiplataforma, a capacidade de atender chamadas do iPhone, SMS no iPad e Mac e melhorias no tethering do seu iPhone.
O Handoff funciona com o iOS 8 e o Yosemite e requer que uma conta do iCloud esteja conectada a todos os diferentes dispositivos que você deseja usar. Ele deve funcionar com a maioria dos aplicativos Apple pré-instalados, incluindo Safari, iWork, Mapas, Calendários e Contatos.
Para obter mais informações, consulte nosso guia de Handoff .
Storyboards unificadas
O iOS 8 inclui um novo mecanismo mais simples de usar para criar a interface do usuário: o storyboard unificado. Com um único storyboard para cobrir todos os diferentes tamanhos de tela de hardware, visualizações rápidas e responsivas podem ser criadas em um verdadeiro estilo "projetar uma vez, usar muitos".
Antes do iOS8, os desenvolvedores costumavam UIInterfaceOrientation
distinguir entre os modos retrato e paisagem e UIInterfaceIdiom
distinguir entre dispositivos iOS. No iOS8, não é mais necessário criar storyboards separados para dispositivos iPhone e iPad — a orientação e o dispositivo são determinados usando classes de tamanho.
Cada dispositivo é definido por uma classe de tamanho, no eixo vertical e horizontal, e há dois tipos de classes de tamanho no iOS 8:
- Normal - isso é para um tamanho de tela grande (como um iPad) ou um gadget que dá a impressão de um tamanho grande (como um UIScrollView
- Compacto - isso é para dispositivos menores (como o iPhone). Esse tamanho leva em conta a orientação do aparelho.
Se os dois conceitos forem usados juntos, o resultado será uma grade 2 x 2 que define os diferentes tamanhos possíveis que podem ser usados em ambas as diferentes orientações, como visto no diagrama a seguir:
Para obter mais informações sobre classes de tamanho, consulte a Introdução aos storyboards unificados.
Kit de Fotos
O Photo Kit é uma nova estrutura que permite que os aplicativos consultem a biblioteca de imagens do sistema e criem interfaces de usuário personalizadas para exibir e modificar seu conteúdo. Ele inclui várias classes que representam ativos de imagem e vídeo, bem como coleções de ativos, como álbuns e pastas.
Para obter mais informações, consulte nosso guia do PhotoKit .
Jogos
Kit de Cena
O Scene Kit é uma API de gráfico de cena 3D que simplifica o trabalho com gráficos 3D. Ele foi introduzido pela primeira vez no OS X 10.8 e agora chegou ao iOS 8. Com o Scene Kit, criar visualizações 3D imersivas e jogos 3D casuais não requer experiência em OpenGL. Com base em conceitos comuns de gráficos de cena, o Scene Kit abstrai as complexidades do OpenGL e do OpenGL ES, tornando muito fácil adicionar conteúdo 3D a um aplicativo. No entanto, se você é um especialista em OpenGL, o Scene Kit tem um ótimo suporte para vincular diretamente com o OpenGL também. Ele também inclui inúmeros recursos que complementam os gráficos 3D, como física, e se integra muito bem com vários outros frameworks da Apple, como Core Animation, Core Image e Sprite Kit.
Para obter mais informações, consulte nossa documentação do SceneKit .
Sprite Kit
Sprite Kit, a estrutura de jogos 2D da Apple, tem alguns novos recursos interessantes no iOS 8 e OS X Yosemite. Isso inclui integração com o Scene Kit, suporte a sombreador, iluminação, sombras, restrições, geração normal de mapas e aprimoramentos de física. Em particular, os novos recursos de física tornam muito fácil adicionar efeitos realistas a um jogo.
Para obter mais informações, consulte nossa documentação do SpriteKit .
Outras alterações
Além das principais mudanças no iOS 8 descritas acima, a Apple também atualizou muitas estruturas existentes. Estes são detalhados abaixo:
- Imagem principal – A Apple expandiu sua estrutura de processamento de imagens, adicionando melhor suporte para a detecção de regiões retangulares e códigos QR dentro das imagens. Mike Bluestein explora isso em sua postagem no blog intitulada Detecção de imagem no iOS 8
APIs obsoletas
Com todas as melhorias feitas no iOS 8, várias APIs foram preteridas. Alguns deles são detalhados abaixo.
UIApplication – Os métodos e propriedades usados para registrar notificações remotas foram preteridos. Eles são registerForRemoteNotificationTypes e enabledRemoteNotificationTypes.
UIViewController – Características e classes de tamanho substituíram os métodos e propriedades usados para descrever a orientação da interface. Consulte a Introdução aos Storyboards Unificados para obter mais informações sobre como usá-los.
UISearchDisplayController – Isso foi substituído por UISearchController no iOS8.
Resumo
Neste artigo, analisamos alguns dos novos recursos introduzidos pela Apple no iOS 8.