@AudigyMaster.
As minhas perguntas não são retóricas. Repara, tu dizes um conjunto de coisas em tom de correcção. Pergunto o que estás a corrigir. E voltas a dizer a mesma coisa em tom de correcção. Eu pergunto o que estás corrigir. E ... É de loucos
(*)
Não existe confusão alguma naquilo que sei ou digo. O meu vídeo é claríssimo. Aliás como têm são as minhas intervenções e iniciais sobre qualquer tema.
As pessoas não sei porquê começam a confundir tudo a fazerem novelos por falta de conhecimento que normalmente compensão com uma boa dose de especulação. Partilhando videos de artistas, docs parciais, esses sim confundem tudo, , e um tipo de boa vontade tenta desenrolar e é arrastado numa corrente sem fim, sem fim. É que é umas atrás das outras.
Aliás como está novamente a acontecer aqui. Mas porquê?
Há anos que consulto a documentação oficial. Pelo que informação parcial não me confunde.
Ficam aqui umas dikas:
https://developer.apple.com/documen...xtending_your_app_s_background_execution_time
Não há tempo fixo para execução da background tasks a não ser os 5 segundos iniciais mal o utilizador a minimize. Isto desde o iOS 7 se bem me recordo, não tenho certeza (que dava creio que cerca de 10 mins e pronto, não me recordo honestamente). O sistema adopta um esquema oportunista de gestão de tarefas desde essa atura.
Se o developer precisa de tempos em tempos correr processos para refrescar os dados da app como parece ser o caso da tua, deve então de usar o job scheduler para o efeito (Baxkground app refresh). Se a utilizador não deu permissões à app para fazer este tipo de tarefas descativando a facilidade, o developer só tem é que honrar isso. E é o que o iOS está a fazer. O utilizador pode querer desactivar por exemplo para que a app não esteja sem seu conhecimento a ir buscar dados à net e coisas mais, gastando por exemplo o seu plafond de internet móvel. Ou porque é uma app pouco importante. Como disse, por defeito está enabled para qualquer app.
Se o developer pretende continuar o processamento de uma tarefa iniciado por accao do utilizador na app, depois deste último a minimizar, usa o método indicado na documentação. Pede esse recurso que o iOS lhe dá o tempo necessário que é mais do que 30 segundos como demonstrado pelo vídeo numa aplicação bem feita. O developer pode pedir para executar várias tarefas em cadeia ...
Se porventura a tarefa demorar demasiado tempo, sei lá, quer estar uma hora hora a processar alguma coisa, não vai conseguir possivelmente. Para isso terá que usar o macOS ou o Windows. Olha compra um Surface Go ou Macbook (sarcasm).
Repare-se, sem programação específica a documentação garante 5 segundos de tempo de execução em background mal o utilizador minimiza a app, depois entra a suspensão. Mas pode dar até mais, dar 30, 180 ou 10mins em casos, mas nada disso é garantido. Isto sem o developer pedir estensão. Mas isto não é para tarefas em background. Isto é para poupar energia, porque suspender uma app e reactiva-la gasta energia e recursos. Eu posso ir apenas a outra app consultar rapidamente algo e voltar. Se o developer está a usar este tempo para executar coisas em background em vez de limpar para a suspensão está a programar mal!!!!
No caso do developer pedir tempo extra para executar uma tarefa em curso, Repare-se que tempo depende de muita coisa. Num telemóvel mais fraco pode ser um, num mais potente pode ser outro. Num tablet pode ser outro. Ou seja, os parâmetros da gestão de recursos variam consoante a capacidade do dispositivo ... é um bocado o conceito do UWP mas aplicado á gestão de tarefas.
Eu não faço a mínima ideia como a app que usaste está feita. Não faço mesmo. Mas parece-me que está a funcionar correctamente e não há bug algum no iOS. Sem background app refresh, não refresca os dados e é suspensa, com isso enabled , refresca e é suspensa á mesma.
Quanto ao reter. Cada um retém aquilo que quer ou consegue. Mas quem lê a tua conclusão pensa que o IOS só permite 30 segundos de execução em background quando antes era 180 segundo dizes. Isso também deveria ser para reter. Depois dizes que é bug porque alguém questiona o teu finding e ... Depois faço um vídeo onde vai para lá dos 180 e ignoras e vens como uma doc parcial. Nada disso está na documentação. E não é por estar no Reddit que está correcta! Parece que ignoras os factos que não convém a tua tese vais repetindo a mesma coisa, e voltas a repetir, e a repetir, a repetir ... entras em loop.
Agora podes dizer que o que é para reter afinal é outra coisas, mas nem isso está correcto.
Depois eu é que faço confusão. Isto é algo que tenho reparado que acontece bastante aqui na Zwame.
Mas o que é para reter afinal? (Está não é retórica, estou mesmo confuso)
A única coisa que posso dizer é que escreves melhor Português que eu. Daí falar em técnicas de comunicação. Mas também por já estar um bocado saturado de tanta confusão, de tanto sofisma.
Fiquem bem, abraço.
EDIT: O tema desta thread é a Keynote de 12 de Setembro não as Keynotes.