Partilhar via


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:

Definindo os modos em segundo plano

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:

Desabilitando a execução em segundo plano

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.