App Clip est une version légère d'une application iOS qui se lance instantanément sans installation sur l'appareil. Présentée dans iOS 14, la technologie permet à l'utilisateur d'accéder à une fonction spécifique de l'application en scannant une balise NFC, un code QR ou un App Clip Code. La taille de l'App Clip ne dépasse pas 10 Mo et son lancement prend moins de deux secondes. C'est la solution d'Apple pour une interaction instantanée avec une application native sans nécessité d'installation complète.
Points clés à retenir
App Clip est la technologie d'Apple pour iOS qui permet de lancer une petite partie d'une application complète sans l'installer. Lorsqu'un utilisateur scanne une balise NFC, un code QR ou un App Clip Code, le système d'exploitation télécharge et ouvre l'App Clip sous forme de carte au-dessus de l'écran actuel. Apple a conçu App Clip pour les scénarios de “payer, commander ou s'inscrire” — des actions qui doivent être effectuées sans friction ni attente.
App Clip fonctionne en mode éphémère. iOS stocke les données de l'App Clip pendant une durée limitée (généralement plusieurs jours ou jusqu'à ce que l'utilisateur les supprime explicitement). Si l'utilisateur a besoin de la même fonction à nouveau, l'App Clip est téléchargé à nouveau. Apple limite intentionnellement la persistance d'App Clip pour encourager l'installation de l'application complète pour une utilisation continue. Les données créées dans l'App Clip sont automatiquement transférées à l'application complète lors de son installation via CloudKit.
Exemples concrets : scanner une balise NFC sur une table de restaurant pour commander et payer (Panera, Pizza Hut), un code QR sur un scooter loué pour le déverrouiller (Lime, Bird), un App Clip Code sur un parcmètre pour payer (PayByPhone), scanner un produit dans un magasin pour l'acheter (Shopify). Tous ces scénarios partagent un point commun — une tâche transactionnelle qui bénéficie de l'absence d'étape d'installation.
App Clip est activé via cinq mécanismes. Les plus courants sont les balises NFC (le toucher lance l'App Clip), les codes QR (le scan par la caméra affiche la carte App Clip en bas de l'écran) et les App Clip Codes (codes visuels propriétaires d'Apple avec bordure à motifs et balise NFC intégrée). App Clip se lance également via Safari App Banner et les liens iMessage.
App Clip Code est la technologie brevetée d'Apple. Contrairement aux codes QR, les App Clip Codes ont une apparence esthétique — ils supportent les couleurs de la marque et un logo au centre, avec l'URL encodée dans des ondes ressemblant à du son sur les bords. Le code contient une balise NFC intégrée, offrant un mécanisme de double déclenchement : scan visuel et toucher. Apple fournit des outils de génération d'App Clip Code via le portail App Store Connect.
// SceneDelegate.swift — gestion du lancement d'App Clip via NSUserActivity
import UIKit
class SceneDelegate: UIResponder, UIWindowSceneDelegate {
var window: UIWindow?
func scene(_ scene: UIScene,
willContinueUserActivityWithType userActivityType: String) {
// Préparation à la NSUserActivity entrante
}
func scene(_ scene: UIScene,
continue userActivity: NSUserActivity) {
guard let invocationURL = userActivity.webpageURL else { return }
// Analyse de l'URL et navigation vers l'écran requis
handleInvocationURL(invocationURL)
}
private func handleInvocationURL(_ url: URL) {
// Exemple : /order/restaurantID — écran de commande
// Exemple : /pay/parkingID — écran de paiement
}
}Tous les déclencheurs créent finalement une NSUserActivity avec un paramètre webpageURL qui contient le contexte d'appel. L'App Clip analyse cette URL et affiche l'écran correspondant. App Clip prend également en charge les déclencheurs géolocalisés — iOS peut suggérer un App Clip lorsque l'utilisateur se trouve à proximité d'un lieu spécifique (par exemple, près d'un café avec un App Clip).
Le développement d'App Clip commence à partir d'un projet Xcode existant de l'application complète. Vous ajoutez une nouvelle cible App Clip — elle utilise le même projet, la même équipe et la majeure partie du code partagé. La cible App Clip inclut uniquement les fichiers, storyboards et ressources nécessaires à la fonction spécifique. Apple fournit un modèle App Clip avec des entitlements et des clés Info.plist préconfigurés.
// AppClip/ProductViewModel.swift — logique partagée entre App Clip et l'application complète
import Foundation
import StoreKit
class ProductViewModel: ObservableObject {
@Published var items: [Product] = []
@Published var total: Decimal = 0
func checkout() {
// Envoi de la commande via API
}
func showInstallPrompt() {
// Affichage de SKOverlay pour installer l'application complète
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 — écran principal d'App Clip
class MainViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Interface compacte pour la carte App Clip
// Utilisation de SF Symbols pour réduire la taille
// Chargement uniquement des données de la transaction en cours
}
@IBAction func openFullApp(_ sender: Any) {
// Ouverture de la page de l'application dans l'App Store
guard let url = URL(string: "https://apps.apple.com/app/id123456789") else { return }
UIApplication.shared.open(url)
}
}La cible App Clip utilise le même Apple Developer Team ID et Bundle ID que l'application principale (avec le suffixe .Clip). Entitlements clés : com.apple.developer.app-clip et les domaines associés pour la gestion des URL. App Clip prend en charge Apple Pay, Sign in with Apple, StoreKit pour les achats et Core Location. Certains frameworks ne sont pas disponibles : les modes d'arrière-plan, HealthKit, Media Library et certaines API de capteurs.
La limite de taille d'App Clip est strictement contrôlée par Apple — pas plus de 10 Mo compressés. La vérification est effectuée lors de l'étape de téléchargement vers l'App Store ; les builds dépassant la limite sont rejetés. La taille comprend le code binaire, les ressources (storyboards, catalogues d'assets) et les frameworks liés. Les bibliothèques d'exécution Swift font partie d'iOS et ne sont pas comptées, mais les frameworks tiers augmentent la taille.
| Méthode d'optimisation | Effet | Notes |
|---|---|---|
| Amincissement des catalogues d'assets | 30–60% | Échelle d'image unique (3x), exclusion des idioms d'appareil inutilisés |
| SF Symbols | Significatif | Les icônes système sont gratuites — ne pas inclure de personnalisées |
| SwiftUI au lieu d'UIKit | 20–30% | SwiftUI nécessite moins de frameworks liés |
| Minimum de dépendances | Variable | Inclure uniquement les frameworks nécessaires à la fonction App Clip |
| Ressources à la demande | Variable | Chargement des données non critiques (images) après le lancement |
| Élimination de code | 10–40% | Dead code stripping et optimisation whole-module en Swift |
Xcode fournit un rapport de taille d'App Clip dans Organizer après l'archivage. Le rapport décompose la taille par composant (code, ressources, frameworks) et montre la taille de téléchargement estimée. Apple recommande de maintenir l'App Clip sous 8 Mo pour tenir compte des variations de compression sur les différents canaux de distribution.
Le scénario d'utilisation d'App Clip comprend quatre étapes. Découverte : l'utilisateur rencontre une balise NFC, un code QR ou un App Clip Code dans le monde physique. Lancement : le scan ou le toucher charge l'App Clip (moins de 2 secondes, généralement 1 seconde). Interaction : l'App Clip s'ouvre sous forme de carte avec une seule fonction — un écran de commande, de paiement ou de réservation. Achèvement : l'utilisateur termine la tâche et voit une offre pour installer l'application complète via SKOverlay ou un lien vers l'App Store.
Apple accorde une attention particulière à la confidentialité dans App Clip. Le système demande les autorisations de caméra, de géolocalisation et de notification séparément pour l'App Clip. Les données créées dans l'App Clip (informations de paiement, préférences) sont stockées localement et transférées à l'application complète via CloudKit lors de son installation. App Clip ne peut pas demander d'autorisations sensibles (Health, Motion, Media Library) — celles-ci nécessitent l'installation de l'application complète.
Une fonctionnalité importante est SKOverlay, un élément natif iOS qui apparaît en bas de l'écran de l'App Clip et propose d'installer l'application complète. SKOverlay ne nécessite pas d'aller dans l'App Store et fonctionne dans le contexte de l'application actuelle. L'utilisateur peut installer l'application complète en un tap, et l'App Clip transfère automatiquement toutes les données créées après l'installation.
| Caractéristique | App Clip (iOS) | Instant App (Android) |
|---|---|---|
| Limite de taille | 10 Mo compressé | 10 Mo total |
| Méthodes de lancement | NFC, QR, App Clip Code, Safari, iMessage, géolocalisation | Deep links, Google Play “Essayer maintenant”, NFC, QR |
| Développement | Xcode + Swift (cible unique) | Android Studio + Kotlin (feature modules) |
| Support | iOS 14+ (iPhone, iPod touch) | Android 5.0+ (API 21+) |
| Stockage des données | Temporaire, transféré à l'application complète | Temporaire (cookie API), transféré |
| Monétisation | Apple Pay, StoreKit | Google Pay, Google Play Billing |
| Déclencheur visuel | App Clip Code (format propriétaire) | Codes QR standard |
Les deux technologies — App Clip et Android Instant App — résolvent le même problème : lancement instantané d'une application native sans installation, mais utilisent des approches de plateforme différentes. App Clip est plus limité (iOS uniquement, écosystème plus petit), mais offre une intégration profonde avec Apple Pay et l'écosystème Apple. Les Instant Apps l'emportent grâce à une portée Android plus large et des déclencheurs flexibles, y compris les codes QR standard sans infrastructure supplémentaire.
Foire aux questions
Les App Clips nécessitent iOS 14 ou ultérieur et fonctionnent sur iPhone 6s et ultérieur, iPod touch (7e génération) et tous les iPad avec une puce A9 ou ultérieure. Le scan d'App Clip Code est disponible via l'application Appareil photo intégrée. Le lancement via les balises NFC nécessite un iPhone XR/XS ou ultérieur (les iPhone 7/8 peuvent lire le NFC mais ne peuvent pas lancer App Clip).
Non, un App Clip doit être lié à une application iOS complète dans l'App Store. Un App Clip ne peut pas être publié indépendamment. L'application complète et l'App Clip utilisent le même Apple Developer Team ID et Bundle ID (avec le suffixe .Clip). Apple positionne App Clip comme un point d'entrée vers l'application complète, et non comme un mécanisme de distribution autonome.
La taille maximale d'App Clip est de 10 Mo compressés. Apple vérifie strictement cette limite lors du téléchargement sur l'App Store. Il est recommandé de maintenir la taille sous 8 Mo pour tenir compte des différences de compression. Utilisez SF Symbols, SwiftUI et minimisez les dépendances tierces pour rester dans la limite.
Non, les App Clips ne peuvent pas envoyer de notifications push. Apple a intentionnellement bloqué cette fonctionnalité pour prévenir le spam. Les notifications locales sont autorisées dans la courte durée de vie de l'App Clip. Pour recevoir des notifications, l'utilisateur doit installer l'application complète. C'est une différence clé avec les PWA et les applications natives complètes.
iOS stocke les données de l'App Clip pendant une durée limitée (généralement 7 à 30 jours d'inactivité). Si l'utilisateur installe l'application complète, les données sont automatiquement transférées via CloudKit. Si aucune installation n'a lieu, iOS supprime l'App Clip et ses données. L'utilisateur peut également supprimer manuellement l'App Clip via les Réglages dans la section “App Clips”.
Pour un scénario simple (commande + paiement), l'ajout d'un App Clip à une application iOS existante prend généralement 2 à 4 semaines pour un développeur. App Clip utilise la majeure partie de la base de code de l'application principale, donc les coûts sont considérablement inférieurs à la création d'une application séparée à partir de zéro. Le temps principal est consacré à l'optimisation de la taille et à la configuration des déclencheurs.
App Clip prend en charge Apple Pay, Sign in with Apple, StoreKit, Core Location, MapKit et PushKit (VoIP uniquement). Non disponibles : HealthKit, ResearchKit, HomeKit, CarPlay, Metal (pleine portée), les modes d'arrière-plan (background fetch, location updates) et Media Library. App Clip ne peut pas non plus accéder au microphone et à certains capteurs de l'appareil.
Résumé
Nous développerons une application mobile clé en main
IT Sectr crée des applications iOS et Android pour les startups et les entreprises depuis 2017. Nous vous conseillerons et vous proposerons la meilleure solution.
Lisez aussi