App Clip é uma versão leve de um app iOS que é executada instantaneamente sem instalação no dispositivo. Apresentada no iOS 14, a tecnologia permite que o usuário acesse uma função específica do aplicativo escaneando uma etiqueta NFC, um código QR ou um App Clip Code. O tamanho do App Clip não excede 10 MB e a execução leva menos de dois segundos. Esta é a solução da Apple para interação instantânea com um app nativo sem necessidade de instalação completa.
Principais conclusões
App Clip é a tecnologia da Apple para iOS que permite executar uma pequena parte de um app completo sem instalá-lo. Quando um usuário escaneia uma etiqueta NFC, um código QR ou um App Clip Code, o sistema operacional baixa e abre o App Clip como um cartão sobre a tela atual. A Apple projetou o App Clip para cenários de “pagar, pedir ou se registrar” — ações que devem ser realizadas sem atrito e espera.
App Clip funciona em modo efêmero. O iOS armazena os dados do App Clip por um tempo limitado (geralmente vários dias ou até o usuário excluí-los explicitamente). Se o usuário precisar da mesma função novamente, o App Clip é baixado novamente. A Apple limita intencionalmente a persistência do App Clip para incentivar a instalação do app completo para uso contínuo. Os dados criados no App Clip são automaticamente transferidos para o app completo ao instalá-lo via CloudKit.
Exemplos reais: escanear uma etiqueta NFC em uma mesa de restaurante para pedir e pagar (Panera, Pizza Hut), um código QR em uma scooter alugada para desbloquear (Lime, Bird), um App Clip Code em um parquímetro para pagar (PayByPhone), escanear um produto em uma loja para comprar (Shopify). Todos esses cenários compartilham uma coisa — uma tarefa transacional que se beneficia de não ter uma etapa de instalação.
App Clip é ativado através de cinco mecanismos. Os mais comuns são etiquetas NFC (toque inicia o App Clip), códigos QR (escaneamento pela câmera mostra o cartão App Clip na parte inferior da tela) e App Clip Codes (códigos visuais proprietários da Apple com borda padronizada e etiqueta NFC integrada). App Clip também é iniciado através do Safari App Banner e links do iMessage.
App Clip Code é a tecnologia patenteada da Apple. Ao contrário dos códigos QR, os App Clip Codes têm aparência estética — suportam cores da marca e um logotipo no centro, com a URL codificada em ondas sonoras ao redor das bordas. O código contém uma etiqueta NFC integrada, fornecendo um mecanismo de disparo duplo: escaneamento visual e toque. A Apple fornece ferramentas de geração de App Clip Code através do portal App Store Connect.
// SceneDelegate.swift — manipulação da inicialização do App Clip via NSUserActivity
import UIKit
class SceneDelegate: UIResponder, UIWindowSceneDelegate {
var window: UIWindow?
func scene(_ scene: UIScene,
willContinueUserActivityWithType userActivityType: String) {
// Preparação para NSUserActivity recebida
}
func scene(_ scene: UIScene,
continue userActivity: NSUserActivity) {
guard let invocationURL = userActivity.webpageURL else { return }
// Análise de URL e navegação para a tela necessária
handleInvocationURL(invocationURL)
}
private func handleInvocationURL(_ url: URL) {
// Exemplo: /order/restaurantID — tela de pedido
// Exemplo: /pay/parkingID — tela de pagamento
}
}Todos os gatilhos criam, em última instância, uma NSUserActivity com um parâmetro webpageURL que contém o contexto de invocação. O App Clip analisa essa URL e exibe a tela correspondente. App Clip também suporta gatilhos de geolocalização — o iOS pode sugerir um App Clip quando o usuário está perto de um local específico (por exemplo, perto de uma cafeteria com App Clip).
O desenvolvimento de App Clip começa a partir de um projeto Xcode existente do app completo. Você adiciona um novo target App Clip — ele usa o mesmo projeto, a mesma equipe e a maior parte do código compartilhado. O target App Clip inclui apenas os arquivos, storyboards e recursos necessários para a função específica. A Apple fornece um modelo App Clip com entitlements e chaves Info.plist pré-configurados.
// AppClip/ProductViewModel.swift — lógica compartilhada entre App Clip e o app completo
import Foundation
import StoreKit
class ProductViewModel: ObservableObject {
@Published var items: [Product] = []
@Published var total: Decimal = 0
func checkout() {
// Envio de pedido via API
}
func showInstallPrompt() {
// Exibição de SKOverlay para instalar o app completo
guard let scene = UIApplication.shared()
.connectedScenes
.first(where: { $0 is UIWindowScene }) as? UIWindowScene else { return }
let overlay = SKOverlay(configuration: SKOverlay.AppClipConfiguration(
position: .bottom
))
overlay.present(in: scene)
}
}
// AppClip/MainViewController.swift — tela principal do App Clip
class MainViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Interface compacta para o cartão App Clip
// Usar SF Symbols para reduzir o tamanho
// Carregar apenas dados da transação atual
}
@IBAction func openFullApp(_ sender: Any) {
// Abrir página do app na App Store
guard let url = URL(string: "https://apps.apple.com/app/id123456789") else { return }
UIApplication.shared.open(url)
}
}O target App Clip usa o mesmo Apple Developer Team ID e Bundle ID que o app principal (com o sufixo .Clip). Entitlements principais: com.apple.developer.app-clip e domínios associados para manipulação de URL. App Clip suporta Apple Pay, Sign in with Apple, StoreKit para compras e Core Location. Alguns frameworks não estão disponíveis: modos em segundo plano, HealthKit, Media Library e certas APIs de sensores.
O limite de tamanho do App Clip é estritamente controlado pela Apple — não mais que 10 MB comprimidos. A verificação é realizada na etapa de envio para a App Store; compilações que excedem o limite são rejeitadas. O tamanho inclui código binário, recursos (storyboards, catálogos de assets) e frameworks vinculados. As bibliotecas de tempo de execução do Swift fazem parte do iOS e não são contadas, mas frameworks de terceiros aumentam o tamanho.
| Método de otimização | Efeito | Notas |
|---|---|---|
| Thinning de catálogos de assets | 30–60% | Escala de imagem única (3x), excluir device idioms não utilizados |
| SF Symbols | Significativo | Ícones do sistema são gratuitos — não inclua personalizados |
| SwiftUI em vez de UIKit | 20–30% | SwiftUI requer menos frameworks vinculados |
| Mínimo de dependências | Variável | Incluir apenas frameworks necessários para a função do App Clip |
| Recursos on-demand | Variável | Carregar dados não críticos (imagens) após a inicialização |
| Code stripping | 10–40% | Dead code stripping e otimização whole-module em Swift |
O Xcode fornece um relatório de tamanho do App Clip no Organizer após o arquivamento. O relatório divide o tamanho por componente (código, recursos, frameworks) e mostra o tamanho de download estimado. A Apple recomenda manter o App Clip dentro de 8 MB para considerar variações de compressão em diferentes canais de distribuição.
O cenário de uso do App Clip consiste em quatro etapas. Descoberta: o usuário encontra uma etiqueta NFC, código QR ou App Clip Code no mundo físico. Execução: escanear ou tocar carrega o App Clip (menos de 2 segundos, geralmente 1 segundo). Interação: o App Clip abre como um cartão com uma única função — uma tela de pedido, pagamento ou reserva. Conclusão: o usuário conclui a tarefa e vê uma oferta para instalar o app completo via SKOverlay ou um link da App Store.
A Apple dá atenção especial à privacidade no App Clip. O sistema solicita permissões de câmera, geolocalização e notificações separadamente para o App Clip. Os dados criados no App Clip (informações de pagamento, preferências) são armazenados localmente e transferidos para o app completo via CloudKit ao instalá-lo. App Clip não pode solicitar permissões confidenciais (Health, Motion, Media Library) — estas exigem a instalação do app completo.
Uma característica importante é o SKOverlay, um elemento nativo do iOS que aparece na parte inferior da tela do App Clip e oferece a instalação do app completo. O SKOverlay não requer ir à App Store e funciona no contexto do aplicativo atual. O usuário pode instalar o app completo com um toque, e o App Clip transfere automaticamente todos os dados criados após a instalação.
| Característica | App Clip (iOS) | Instant App (Android) |
|---|---|---|
| Limite de tamanho | 10 MB comprimidos | 10 MB total |
| Métodos de execução | NFC, QR, App Clip Code, Safari, iMessage, geolocalização | Deep links, Google Play “Experimentar agora”, NFC, QR |
| Desenvolvimento | Xcode + Swift (target único) | Android Studio + Kotlin (feature modules) |
| Suporte | iOS 14+ (iPhone, iPod touch) | Android 5.0+ (API 21+) |
| Armazenamento de dados | Temporário, transferido para o app completo | Temporário (cookie API), transferido |
| Monetização | Apple Pay, StoreKit | Google Pay, Google Play Billing |
| Gatilho visual | App Clip Code (formato proprietário) | Códigos QR padrão |
Ambas as tecnologias — App Clip e Android Instant App — resolvem o mesmo problema: execução instantânea de um app nativo sem instalação, mas usam abordagens de plataforma diferentes. App Clip é mais limitado (apenas iOS, ecossistema menor), mas oferece integração profunda com Apple Pay e o ecossistema de dispositivos Apple. As Instant Apps ganham com maior alcance do Android e gatilhos flexíveis, incluindo códigos QR padrão sem infraestrutura adicional.
Perguntas frequentes
App Clips exigem iOS 14 ou superior e funcionam no iPhone 6s e posteriores, iPod touch (7ª geração) e todos os iPads com chip A9 ou superior. O escaneamento de App Clip Code está disponível através do aplicativo Câmera integrado. A execução via etiquetas NFC requer iPhone XR/XS ou posterior (iPhone 7/8 podem ler NFC mas não podem iniciar App Clip).
Não, um App Clip deve estar vinculado a um app iOS completo na App Store. Um App Clip não pode ser publicado independentemente. O app completo e o App Clip usam o mesmo Apple Developer Team ID e Bundle ID (com o sufixo .Clip). A Apple posiciona o App Clip como um ponto de entrada para o app completo, não como um mecanismo de distribuição independente.
O tamanho máximo do App Clip é 10 MB comprimidos. A Apple verifica rigorosamente esse limite ao enviar para a App Store. Recomenda-se manter o tamanho dentro de 8 MB para considerar diferenças de compressão. Use SF Symbols, SwiftUI e minimize dependências de terceiros para ficar dentro do limite.
Não, App Clips não podem enviar notificações push. A Apple bloqueou intencionalmente esse recurso para evitar spam. Notificações locais são permitidas dentro do curto ciclo de vida do App Clip. Para receber notificações, o usuário deve instalar o app completo. Esta é uma diferença chave em relação a PWAs e apps nativos completos.
O iOS armazena os dados do App Clip por um tempo limitado (geralmente 7–30 dias de inatividade). Se o usuário instalar o app completo, os dados são automaticamente transferidos via CloudKit. Se nenhuma instalação ocorrer, o iOS exclui o App Clip e seus dados. O usuário também pode excluir manualmente o App Clip através das Configurações na seção “App Clips”.
Para um cenário simples (pedido + pagamento), adicionar um App Clip a um app iOS existente geralmente leva 2–4 semanas para um desenvolvedor. App Clip usa a maior parte da base de código do app principal, portanto os custos são significativamente menores do que construir um app separado do zero. O tempo principal é gasto na otimização de tamanho e configuração de gatilhos.
App Clip suporta Apple Pay, Sign in with Apple, StoreKit, Core Location, MapKit e PushKit (apenas VoIP). Não estão disponíveis HealthKit, ResearchKit, HomeKit, CarPlay, Metal (escopo completo), modos em segundo plano (background fetch, location updates) e Media Library. App Clip também não pode acessar o microfone e alguns sensores do dispositivo.
Resumo
Vamos desenvolver um aplicativo móvel chave na mão
A IT Sectr cria aplicativos para iOS e Android para startups e empresas desde 2017. Nós vamos aconselhá-lo e propor a melhor solução.
Leia também