Links no iOS 9.3
Acho que descobri...
Tenho uma teoria que finalmente faz sentido (porque a da virose não me estava a convencer muito).
Raciocínio:
Não fazia sentido que a cena dos links só começasse a acontecer alguns dias depois do upgrade para o iOS 9.3, porque sendo um bug está lá desde o início.
Ora, quando me dizem que o problema dos links começou a ocorrer também no iOS 9.2.1, fez-se luz.
Será um bug que está lá desde o iOS 9.2.1 ou anterior, e que continua no iOS 9.3 também.
A diferença é que terá havido uma aplicação a despoletar esse erro. E essa aplicação foi actualizada há poucos dias, e introduziu a situação que despoleta o bug no iOS.
Assim que as pessoas actualizam para a nova versão dessa aplicação, ficam com o bug activo.
Deixo a explicação técnica para o fim.
Para quem tiver o erro:
1.
Procurar nas actualizações da APP STORE quais foram as actualizações que fizeram antes de começarem a ter o erro (tem lá o histórico com as datas em que as actualizações foram feitas).
2.
Em princípio, como o erro dá a várias pessoas em todo o mundo, deverá ser uma aplicação bastante usada (e deverá ser uma das que o pessoal que não tem erro não tem instalada).
Deverá ser algo tão popular quanto as aplicações do Facebook (FB, FB Light, FB Messenger, Whatsapp), ou Instagram, ou algo do género.
3.
Podem tentar listar essas Apps aqui, para tentar descobrir qual será.
Será uma das que foram actualizadas quando começou o erro.
Que seja comum a todos os que têm o erro.
Que não seja usada por quem não tem o erro.
4.
Depois de identificar o provável culpado, ou quem não quiser esperar pode tentar imediatamente, fazer o seguinte:
- Apagar (desinstalar) a aplicação mais provável (ou todas as prováveis).
- Fazer reboot (até pode ser que não seja necessário).
Se for isto que eu estou a pensar, deverá deixar de ter problemas com os links.
Explicação técnica do raciocínio (de forma mais ou menos acessível):
O iOS tem funcionalidade para permitir interceptar os links, quer seja para que páginas web possam ser abertas nas respectivas Apps, quer seja para os bloqueadores de publicidade e afins.
Como as aplicações estão SANDBOXED, quem trata de gerir isto é o sistema operativo.
Muito provavelmente as aplicações registam-se no sistema, dizendo que implementam a intercepção de links, e quando é necessário interceptar um link, o sistema operativo chama uma função na aplicação registada para a situação em concreto. Isto é, sempre que um utilizador carrega num link (para seguir ou long touch para opções), quer seja no Safari, Mail ou outra aplicação sandboxed, a aplicação com o link chama uma função no sistema operativo para a intercepção do link (na evocação), ou para lista de opções (no long touch). E aí o sistema operativo é que trata de contactar as aplicações que interceptem links.
Ora, para isto estar bem feito, sem bugs, o sistema operativo deve proteger-se sempre que seja ele a chamar funções de aplicações.
De certo modo o sistema está a proteger-se bem porque, pelo vídeo que vi do bug, o que pendura é a aplicação com o link a ser aberto.
Ainda assim, deveria proteger também a aplicação que está à espera de resposta, e isso não está a acontecer.
Ou seja, dá a sensação que o sistema chama a função da aplicação que intercepta links, mas que essa função ou dá erro, ou fica em ciclo.
Se der erro, o sistema deveria prosseguir com a acção na aplicação que tem o link. Se ficar em ciclo, o sistema deveria limitar o tempo de resposta, abortar a chamada, e deixar prosseguir a aplicação com o link.
Em qualquer dos casos, a aplicação com erro deveria ficar registada. Ou para que tal função não voltasse a ser chamada, e/ou para notificar o developer do erro.
Quem é que está disposto a testar esta teoria?