A interface de notificação dinâmica só funcionará se a extensão \ app Watch for aberta pelo menos uma vez a partir do relógio
Atualmente, existem três tipos de notificações no Apple Watch:
Short
- Você não pode personalizá-los.Static
- Você pode personalizá-los no Storyboard.Dynamic
- Pode personalizar elementos da interface do usuário com novos dados que não chegam na carga útil da notificação.Aqui está o problema (o projeto está usando o Watch OS 1), se o aplicativo nunca foi aberto a partir doApple Watch
aStatic
notificação será exibida em vez doDynamic
um e o log mostrará o erro
Demorou muito para mostrar a notificação personalizada. Voltando à estática
Eu removi o código de notificações eViewController
a nada além disso:
-(void)didReceiveRemoteNotification:(NSDictionary *)remoteNotification withCompletion:(void (^)(WKUserNotificationInterfaceType))completionHandler
{
completionHandler(WKUserNotificationInterfaceTypeCustom);
}
E eu ainda estava recebendo esse erro.
Devo esclarecer que após o aplicativo ser executado a partir do relógiofinalmente uma vez que tudo está funcionando como esperado eDynamic
A interface de notificação é exibida corretamente.
Coisas que eu verifiquei duas vezes:
A bateria do relógio está acima de 70%Este é o único código no meudidReceiveRemoteNotification
WKUserNotificationInterfaceController
subclasse está conectada à interface dinâmica Controller no meu arquivo de storyboardPesquisei nos documentos da Apple algo que verifique esse comportamento e não encontrei nada relacionado. No começo, pensei que algo não estava configurado corretamente com o meu aplicativo, mas depois descobri que isso é comum em todos os aplicativos do Apple Watch que tentei.
Passos para reproduzir:
Faça o download de um aplicativo Apple Watch que nunca foi instalado no seu dispositivo e que usa notificações dinâmicas. (Eu testei isso no Telegram e no Outlook, por exemplo)Não abra o aplicativo pelo relógio, apenas no seu telefone.envie a si mesmo uma notificação por push.A notificação chegará ao seu relógio comoStatic notification
e o registro de dispositivos exibirá o erro "Demorou muito para mostrar a notificação personalizada. Voltando à estática".Abra o aplicativo no relógio e envie outra notificação. Isso chegará comoDynamic
.Depois que o aplicativo Watch for aberto pelo menos uma vez, é muito difícil reproduzir o que foi dito acima. Como excluir o aplicativo do telefone e assistir e reinstalar tudo o que ainda é exibidoDynamic
notificações como deveria.
Alguém já experimentou isso?
Existe uma maneira de exibir notificações dinâmicas sem abrir o aplicativo pelo menos uma vez no relógio?