Pular para o conteúdo
CrossFly é 100% open sourceSiga no GitHub
CrossFlyCrossFly
Começar

iOS / iPadOS (RoboVM) 🍎

O alvo iOS exige macOS + Xcode. A toolchain RoboVM faz AOT (Java → código nativo ARM).

Rodar

gradlew :ios:launchIPhoneSimulator

O IOSLauncher cria a aplicação: new IOSApplication(new Main(true, getCommandline()), configuration). Device.platform será IPHONE ou IPAD.

Info.plist — permissões e metadados

Diferente do Android (permissão em runtime), no iOS as chaves de uso vão no Info.plist:

  • descrições de uso de câmera, localização, Bluetooth, microfone (obrigatórias, senão o app é rejeitado);
  • ícones e launch screen.

⚠️ Pontos sensíveis

  • WKWebView: evaluateJavaScript é restrito — a ponte JS↔Java do WebContainer é mais limitada que no Android/desktop.
  • Conta de desenvolvedor Apple + provisioning profile são necessários para rodar em device real (o simulador não exige).
  • Build AOT é lento — mais um motivo para desenvolver no desktop e só validar no iOS.

Boas práticas

  • Preencha todas as chaves de uso no Info.plist antes de submeter (rejeição é comum por isso).
  • Teste no simulador cedo; deixe o device real para validação final (provisioning).

Erros comuns

  • Faltar uma chave de uso no Info.plist (crash ao acessar o recurso, ou rejeição na App Store).
  • Assumir evaluateJavaScript completo no WKWebView (é restrito).

Veja também

Esta página foi útil?