Pitch: FitStreak, treinos de 5 minutos com um bichinho que cresce, e o bug do iOS 27 que quase nos derrubou
Fizemos o FitStreak, um app de iPhone (React Native + Expo) com treinos curtos em casa, de 5 a 7 minutos, sem equipamento. Cada treino conta para uma sequência de dias e faz crescer um bichinho companheiro.
A parte técnica que talvez interesse aqui: em outubro uma atualização nossa parou de abrir em todos os iPhones com iOS 27, sem nenhum erro no Sentry. O motivo: o Mac de build passou a usar o Xcode 27, e um app compilado com o SDK do iOS 27 precisa do ciclo de vida UIScene (nota técnica TN3187 da Apple). O Expo SDK 54 não tinha suporte a scenes. Como a falha acontece antes de qualquer JavaScript rodar, nenhuma ferramenta dentro do app viu nada.
O que mudamos:
- recompilamos com o Xcode 26 e pedimos revisão expressa;
- agora, antes de cada upload, um script em Node abre o Info.plist do IPA e recusa o build se
DTSDKNamefor 27 ou mais e não houverUIApplicationSceneManifest; - o mesmo script confere
NSSupportsLiveActivities, outra falha silenciosa que pegamos assim.
Lição: "compilou" e "passou na revisão" não dizem nada sobre esse tipo de bug. Leia o binário, não a sua memória do que está instalado.
O app está em português. Se quiser testar e dizer o que achou, o feedback é muito bem-vindo:
https://apps.apple.com/app/apple-store/id6759306186?pt=127830887&ct=comm-tabnews&mt=8