Encontro GeneXus GX29: o evento de tecnologia e negócios mais importante da América-Latina.

Anúncio importante para usuários iOS: Problema de compatibilidad cache IOS13

A partir do iOS 13, a Apple fez alterações no uso do cache de dados, portanto, alguns aplicativos iOS podem não estar funcionando corretamente nesta versão deste sistema operacional.

Quais são os aplicativos que podem ter o problema?

Como a alteração ocorreu no iOS 13, na API usada para comunicação entre o dispositivo e o servidor, os aplicativos que podem ser afetados são todos aqueles que usam cache de dados (propriedade Smart Devices Cache Management  em "On") não importa qual versão de GeneXus eles foram criados.
Os aplicativos off-line que não chamam Procedimentos On-line também não são afetados.

Como o problema se manifesta?

O problema é que o dispositivo envia um novo cabeçalho HTTP que não havia sido enviado antes (If-Modified-Since), fazendo com que o servidor retorne dados do cache quando não deveria.
Isso tem o efeito de que em algumas chamadas REST, os valores retornados não estão corretos. Envia dados "antigos".
Por sua vez, o efeito que isso causa nos aplicativos é que, em determinadas circunstâncias, ele pode mostrar (ou usar internamente) dados não atualizados.

Como resolver o problema?

Existem diferentes opções que dependerão do cenário e da urgência de cada caso:

  1. Limpar as informações de cache de cada um dos procedimentos com problema (a priori, todos). Para isso, no diretório da web\Metadata\TableAccess do aplicativo, você deve excluir o .xml correspondente a cada Procedimento envolvido.
Esses .xml não são criados/atualizados no tempo de execução, mas no tempo de geração; portanto, uma vez excluídos, eles não são criados novamente. É importante que, se a parte "do lado do servidor" for atualizada, não reimplemente esses .xml
Nota : Nesse diretório também há arquivos para objetos do tipo Data Provider. Estes não são necessários ou recomendados para apagá-los.
  1. Substituir as classes GX Java ou .NET , dependendo do gerador usado, que será publicado no início da semana de 7 de outubro para todas as atualizações da versão GX16.
Nesse caso, você só precisa implantar o lado do servidor do aplicativo.
  1. Ir para a atualização 6 do GX16 . Esta atualização está atualmente na linha "estável" e está programada para ser lançada em 23 de outubro. A compilação com a correção específica para o problema do cache será publicada em breve e posterior à compilação 136304

Mais informações no SAC