Desenvolvedores
Por que meu iPad recebe a página de computador em vez da App Store?
Desde o iPadOS 13, o Safari no iPad diz que é um Mac. Veja por que um redirecionamento por aparelho não o reconhece e como detectá-lo.
Resposta curta
Desde o iPadOS 13, o Safari no iPad pede os sites para computador e envia um user agent de Mac (“Macintosh; Intel Mac OS X 10_15_7”), então um redirecionamento que procura “iPad” o trata como um computador. Um servidor não consegue distinguir os dois; no navegador, um user agent de Mac com navigator.maxTouchPoints maior que 1 é um iPad. O OneStoreLink (onestore.link) manda esse iPad para a sua página de computador, cujo botão da App Store fica a um toque da loja.
Revisado em 2026-11-03
Você criou um link que manda iPhones para a App Store e celulares Android para o Google Play, ele funciona em todos os celulares que você testa, e aí alguém com um iPad cai na sua página de computador. Seu código não está errado: o iPad mentiu sobre o que é, de propósito, porque a Apple queria que os iPads recebessem os sites completos de computador. Este guia explica o que o iPad envia, por que o servidor não consegue enxergar através disso, como detectá-lo no navegador e o que um redirecionamento para a loja deve fazer com ele.
O problema
- Desde o iPadOS 13, o Safari no iPad pede o site para computador por padrão e envia o mesmo user agent que o Safari num Mac.
- Um teste como /iPad|iPhone/ no user agent nunca bate, então o iPad é tratado como um computador.
- No servidor não há mais nada em que se basear: a requisição de um iPad em modo computador é igual à de um Mac.
- Se o caminho para computador só mostra uma página web sem botão da loja, quem usa iPad fica preso a um passo de um app que poderia instalar.
Com o onestore.link
- No navegador, trate um user agent “Macintosh” com mais de um ponto de toque como um iPad: navigator.maxTouchPoints é 0 num Mac.
- No servidor, deixe o caminho para computador inofensivo: uma página com os dois botões das lojas, nunca uma página sem nenhum.
- O onestore.link decide no servidor: num navegador comum, user agents de iPhone e iPad vão direto para a App Store, Android para o Google Play, e todo o resto, inclusive um iPad em modo computador, recebe uma página com os dois botões das lojas e um QR code.
- Nessa página, o botão da App Store abre a App Store no próprio iPad, então o visitante fica a um toque de instalar.
Como fazer
Sem SDK, sem recompilação. Só uma URL.
- 1
Reconheça o iPad no navegador
Se o seu redirecionamento roda em JavaScript, acrescente uma verificação de toque ao teste do user agent. Um Mac nunca informa mais de um ponto de toque; um iPad, sim.
// iPadOS 13+: o Safari no iPad informa um user agent de Mac const ua = navigator.userAgent; const isIOS = /iPad|iPhone|iPod/.test(ua) || (/Macintosh/.test(ua) && navigator.maxTouchPoints > 1); const isAndroid = /Android/i.test(ua); - 2
Dê ao caminho para computador os dois botões das lojas
Um redirecionamento no servidor não consegue fazer essa verificação, então a página que ele serve para “computadores” será vista por alguns iPads. Coloque nela um botão da App Store e um do Google Play, além de um QR code para os computadores de verdade.
- 3
Ou deixe o onestore.link cuidar do roteamento
Crie um onestore.link com as URLs das suas duas lojas. Os celulares são redirecionados no servidor, e todos os outros visitantes, inclusive iPads em modo computador, recebem uma página com os dois botões e um QR code. Nenhum código para manter.
Perguntas frequentes
Por que um iPad envia um user agent de Mac?
Desde o iPadOS 13, o Safari no iPad pede por padrão a versão para computador dos sites e, para recebê-la, se identifica como o Safari do macOS. O usuário pode voltar um site para a versão mobile, mas a maioria nunca faz isso.
Um servidor consegue detectar um iPad que pede o site para computador?
Não de forma confiável. O user agent é igual ao de um Mac e nenhum cabeçalho da requisição denuncia a tela sensível ao toque. A detecção precisa de JavaScript na página, que um simples redirecionamento 302 não executa.
navigator.maxTouchPoints basta sozinho?
Use junto com o user agent: um user agent “Macintosh” com navigator.maxTouchPoints maior que 1 é um iPad. Sozinho, ele também pegaria notebooks Windows com tela sensível ao toque.
O que quem usa iPad vê com o onestore.link?
No modo computador padrão do Safari, a página de computador: o nome e o ícone do app, um botão da App Store, um botão do Google Play e um QR code. Tocar em App Store abre a App Store no iPad. Um iPad cujo navegador envia um user agent de iPad é redirecionado direto para a App Store.
Pronto para experimentar?
Grátis para sempre, sem senha. Seu link fica pronto em cerca de um minuto.
Crie seu link grátisComparando ferramentas? onestore.link vs onelink to →