Registrando aplicativos Xamarin.iOS para execução em segundo plano
O registro de tarefas individuais para privilégios em segundo plano funciona para alguns aplicativos, mas o que acontece se um aplicativo é constantemente chamado para executar tarefas importantes e de longa duração, como obter instruções para o usuário por meio de GPS? Aplicativos como esses devem, em vez disso, ser registrados como aplicativos conhecidos necessários em segundo plano.
Registrar um aplicativo sinaliza ao iOS que o aplicativo deve receber privilégios especiais necessários para executar tarefas em segundo plano.
Categorias de registro de aplicativo
Os aplicativos registrados podem se enquadrar em várias categorias:
- Áudio – Players de música e outros aplicativos que trabalham com conteúdo de áudio podem ser registrados para continuar reproduzindo áudio mesmo quando o aplicativo não estiver mais em primeiro plano. Se um aplicativo nessa categoria tentar fazer qualquer coisa que não seja reproduzir áudio ou baixar enquanto estiver em segundo plano, o iOS o encerrará.
- VoIP – Os aplicativos VoIP (Voice Over Internet Protocol) obtêm os mesmos privilégios concedidos aos aplicativos de áudio para manter o processamento de áudio em segundo plano. Eles também têm permissão para responder conforme necessário aos serviços VoIP que os alimentam, para manter suas conexões vivas.
- Acessórios externos e Bluetooth – reservados para aplicativos que precisam se comunicar com dispositivos Bluetooth e outros acessórios de hardware externos, o registro nessas categorias permite que o aplicativo permaneça conectado ao hardware.
- Banca de notícias – um aplicativo de banca de notícias pode continuar a sincronizar o conteúdo em segundo plano.
- Localização – os aplicativos que usam dados de GPS ou de local de rede podem enviar e receber atualizações de localização em segundo plano.
- Fetch (iOS 7+) – Um aplicativo registrado para privilégios de busca em segundo plano pode marcar um provedor de novo conteúdo em intervalos regulares, apresentando ao usuário conteúdo atualizado quando ele retorna ao aplicativo.
- Notificações Remotas (iOS 7+) – Os aplicativos podem se registrar para receber notificações de um provedor e usar a notificação para iniciar uma atualização antes que o usuário abra o aplicativo. As notificações podem vir na forma de notificações por push ou optar por ativar o aplicativo silenciosamente.
Os aplicativos podem ser registrados definindo a propriedade Modos de Plano de Fundo Obrigatórios no Info.plist do aplicativo. Um aplicativo pode se registrar em quantas categorias forem necessárias:
Para obter um guia passo a passo para registrar um aplicativo para atualizações de localização em segundo plano, consulte o Passo a passo da localização em segundo plano.
O aplicativo não é executado na propriedade Background
Outra propriedade que pode ser definida em Info.plist é que o Aplicativo não é executado em segundo plano ou UIApplicationExitsOnSuspend
propriedade:
Isso tem exatamente o mesmo efeito que definir a configuração Atualização de Aplicativo em Segundo Plano como desativada no iOS 7+, exceto que ela só pode ser alterada no lado do desenvolvedor e está disponível para iOS 4 e superior. O aplicativo será suspenso imediatamente após entrar em segundo plano e não poderá fazer nenhum processamento.
Use essa propriedade se o aplicativo não for projetado para lidar com o processamento em segundo plano, pois ela ajuda a evitar comportamentos inesperados.
Busca em segundo plano e notificações remotas
Busca em segundo plano e notificações remotas são categorias de registro especiais introduzidas no iOS 7. Essas categorias permitem que os aplicativos recebam novos conteúdos de um provedor e atualizem em segundo plano. A próxima seção explora a busca e as notificações remotas com mais detalhes e também apresenta o reconhecimento de localização como meio de atualização de um aplicativo em segundo plano no iOS 6.