Pular para o conteúdo principal

iOS

Mesma família de kernel do macOS, outro propósito

O iOS compartilha a mesma base de kernel do macOS — XNU/Darwin (ver macOS) — mas com uma pilha de frameworks e política de segurança adaptadas para um aparelho móvel, sempre conectado e de bateria limitada.

O SoC (System-on-Chip) que roda o iOS — a família Apple A (iPhone) e mais recentemente M (iPad Pro) — é projetado pela própria Apple, seguindo a mesma lógica de integração hardware+software discutida em SoC e Arquiteturas Integradas.


Ecossistema fechado por design

Diferente de todos os outros quatro sistemas desta trilha, o iOS não permite instalar software fora da App Store por padrão (mudanças regulatórias recentes, como o sideloading exigido pela União Europeia, abriram exceções regionais limitadas, mas o padrão global continua sendo App Store única).

AspectoiOSAndroid (comparação)
Origem do código-fonteFechado (proprietário)AOSP aberto + camada Google fechada
Instalação de appsSó App Store (padrão)Play Store + lojas alternativas + instalação direta (APK)
Personalização do sistemaMuito restritaAmpla (launchers, ROMs customizadas)
Fragmentação de hardwareBaixa (poucos modelos, mesma empresa)Alta (milhares de fabricantes/modelos)
Janela de atualização do SOSimultânea para todos os modelos suportadosDepende do fabricante/operadora
Modelo de revisão de appsRevisão manual + automatizada obrigatória da AppleRevisão majoritariamente automatizada

Sandboxing rígido

Todo app iOS roda em um sandbox dedicado desde a instalação — uma pasta isolada no sistema de arquivos que só aquele app pode ler/escrever, sem exceção (nem outro app, nem o usuário via Finder, consegue navegar livremente nos dados de um app de terceiros). Acesso a recursos do sistema (câmera, localização, contatos, Bluetooth) exige:

  1. Declaração explícita no Info.plist do app (dizendo por que precisa daquele acesso)
  2. Autorização explícita do usuário, em tempo de execução, na primeira vez que o recurso é solicitado

Esse é o mesmo princípio de sandbox por app do Android, levado a um grau ainda mais restritivo.


Secure Enclave

Os aparelhos iOS incluem um coprocessador dedicado, fisicamente isolado do processador principal: o Secure Enclave. Ele armazena as chaves de criptografia biométrica (Face ID/Touch ID) e o Secure Enclave nunca expõe essas chaves ao resto do sistema operacional — nem um kernel comprometido consegue extraí-las.

Assinatura de código obrigatória

O iOS não executa nenhum binário não assinado pela Apple (ou por um desenvolvedor com certificado válido emitido pela Apple). Essa exigência, aplicada em nível de kernel, é uma das razões pelas quais malware nativo é extremamente raro no iOS comparado a outras plataformas.


Empacotamento: o arquivo IPA

O equivalente iOS ao APK do Android é o IPA (iOS App Store Package) — também um ZIP, contendo o binário compilado (Mach-O, o formato executável nativo do Darwin — ver Desenvolvimento Multiplataforma), recursos visuais e o Info.plist de configuração.


Próximo: Como desenvolvemos software para cada plataforma

Depois de ver os cinco sistemas operacionais por dentro, a pergunta natural é: como um desenvolvedor efetivamente escreve um programa que roda em cada um deles?

➡️ Desenvolvimento Multiplataforma →