Pergunta

Estou mergulhando no desenvolvimento do iOS e estou construindo meu próprio aplicativo de despertador para me familiarizar com a plataforma e o SDK. Uma das APIs que estou aprendendo atualmente é a API de notificações locais, que eu presumo que seja a mesma API que a Apple usa para implementar seus alarmes no aplicativo de relógio.

O que eu não entendo é como eles implementam sua funcionalidade de "soneca". Pelo que entendi, as notificações locais permitem que você apresente ao usuário uma caixa de alerta que tenha no máximo dois botões quando seu aplicativo não estiver em primeiro plano, um botão para descartar o alerta e um botão para levar o usuário ao seu aplicativo . No aplicativo de relógio da Apple, no entanto, parece que o usuário é apresentado com uma caixa de alerta com dois botões, um botão para descartar o alarme e um botão para "soar" e reagendar o alarme sem iniciar o aplicativo do relógio. Minhas perguntas são ...

  1. Quando o usuário clica no botão "Snooze", como você acha que a Apple está reagendando a notificação local para o alarme sem iniciar o aplicativo do relógio? Você acha que eles estão usando suas próprias APIs privadas que contornam as limitações das notificações locais que permitem apenas duas opções? Ou você acha que eles estão lançando o aplicativo do relógio para reagendar a notificação local, eles simplesmente não mostram o lançamento e desistência de aplicativos?

  2. A documentação diz que a propriedade "AlertAction" da notificação local é o texto a ser exibido no botão direito da caixa de alerta e da barra deslizante da tela de bloqueio. No aplicativo de relógio da Apple, no entanto, o texto "Snooze" é o botão esquerdo na caixa de alerta, nem é o texto da barra deslizante. Por que isso é para trás?

Muito obrigado antecipadamente por seus pensamentos!

Foi útil?

Solução

A API de notificação local não tem nenhum mecanismo para fazer o que você deseja. O aplicativo de despertador quase certamente não está usando nenhuma infraestrutura para notificações locais, ele as antecede. Mesmo que seja considerado em algumas das infraestruturas fornecidas pelas notificações locais, certamente não está usando as APIs públicas.

Você deve Arquivo um bug solicitando que essa funcionalidade seja adicionada.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top