Este tópico nas Comunidades de suporte da Apple tem uma extensa discussão sobre o problema. As pessoas de lá merecem crédito por encontrar esta solução.
Parece ter sido causado por um problema no arquivo de banco de dados SQLite interno que o iOS usa para rastrear downloads e interações de diário com a App Store. A solução é limpar o arquivo. O arquivo em si não é realmente importante; na maioria das vezes, é apenas um registro local de downloads anteriores. AFAIK, a única coisa suportada que você pode fazer para limpar o banco de dados é uma limpeza completa e restauração do backup; no entanto, a ferramenta gratuita iExplorer pode excluí-lo.
Na interface do iExplorer:
- Abra seu dispositivo e navegue até Mídia> Downloads
- Na pasta Downloads, você encontrará um arquivo chamado 'downloads. [Some number] .sqlitedb'
- Exclua esse arquivo (opcionalmente: faça backup primeiro.)
- Reinicie seu dispositivo iOS. (Uma versão limpa e vazia do banco de dados sqlite será criada automaticamente.)
Ta-da! Você deve estar livre desse problema ... a menos que algum download futuro reative o bug subjacente. (Somente a Apple pode consertar isso.)
Para os curiosos:
Eu dei uma olhada no banco de dados SQLite. Parece que há um bug em algum lugar que está resultando em entradas ocasionais com uma bandeira indicando que eles precisam ser comprados - mas a própria App Store rejeita a tentativa de compra por motivos como "você já comprou esse aplicativo".
Especificamente, um valor 1 no campo 'is_purchase' da tabela 'download' nesse arquivo sqlitedb parece corresponder exatamente ao nome e à contagem de aplicativos que "não podem ser comprados" na caixa de diálogo super irritante.