Apple conteste la décision pour outrage devant la Cour suprême ? Le 14 septembre 2026, Apple a déposé son mémoire introductif auprès de la Cour suprême des États-Unis dans l'affaire Apple Inc. v. Epic Games, Inc. (n° 25-1311), demandant à la haute cour d'annuler ou d'infirmer un jugement pour outrage civil qui pénalisait l'entreprise pour son cadre de conformité anti-détournement. Plutôt que de rejuger l'affaire antitrust initiale de 2021, l'appel se concentre sur les limites procédurales du pouvoir judiciaire en matière d'outrage : plus précisément, si le neuvième circuit a commis une erreur en tenant une partie responsable d'outrage civil sur la base de « l'esprit » implicite d'une injonction plutôt que sur son texte explicite. Pour les architectes de logiciels mobiles, les ingénieurs en facturation et les équipes d'acquisition d'utilisateurs, le litige juridique concernant le routage des paiements App-vers-Web revêt une importance architecturale significative. À mesure que les développeurs déploient des flux de paiement externes pour proposer d'autres mécanismes d'achat en dehors des achats intégrés (IAP) standard, les équipes d'ingénierie doivent concevoir des pipelines de routage bidirectionnels résilients, permettant une gestion fiable du contexte de retour afin que l'application native puisse réhydrater l'état de transaction faisant autorité depuis les services de facturation backend via des Universal Links.
L'appel devant la Cour suprême : le pouvoir d'outrage et l'injonction de 75 mots
Le différend porté devant la Cour suprême se concentre sur la norme juridique requise pour imposer un outrage civil en vertu de la règle fédérale de procédure civile 65(d) et de la jurisprudence fédérale d'équité établie.
En septembre 2021, le tribunal de district des États-Unis pour le district nord de Californie a statué qu'Apple n'était pas un monopole illégal en vertu des lois antitrust fédérales, mais a conclu que ses directives aux développeurs interdisant le détournement violaient la loi sur la concurrence déloyale (UCL) de Californie en créant un préjudice informationnel. Pour remédier à cette violation, le tribunal de district a émis une injonction permanente de 75 mots interdisant à Apple d'empêcher les développeurs d'inclure dans leurs applications « des boutons, des liens externes ou d'autres appels à l'action qui dirigent les clients vers des mécanismes d'achat, en plus des achats intégrés ».
En bref
- Mémoire sur le fond déposé à la Cour suprême : Le 14 septembre 2026, Apple a déposé son mémoire introductif sur requête en certiorari dans l'affaire Apple Inc. v. Epic Games, Inc. (n° 25-1311), contestant l'utilisation par le neuvième circuit de « l'esprit » d'une injonction pour justifier l'outrage civil.
- La question centrale posée : La Cour suprême a accordé l'examen uniquement sur la question 1 : si l'outrage civil peut être fondé sur l'objectif implicite d'une injonction lorsque l'ordonnance est silencieuse sur la conduite en cause, ou si l'outrage nécessite une notification explicite selon la norme établie de « l'absence de doute raisonnable » (Taggart v. Lorenzen).
- Le déclencheur opérationnel : La citation pour outrage découlait du plan de conformité d'Apple de janvier 2024, qui autorisait les liens d'achat externes mais instituait une commission de 12 % à 27 % sur les transactions effectuées via ces liens dans un délai de sept jours, tout en réglementant la présentation des boutons.
- Disposition de la cour d'appel : Le neuvième circuit a confirmé la conclusion d'outrage en vertu de sa doctrine de « l'esprit » mais a annulé l'interdiction permanente du tribunal de district sur les commissions liées aux liens externes, renvoyant l'affaire pour un réexamen des frais. Alors que les procédures de renvoi au tribunal de district sont en cours, l'appel d'Apple cherche à annuler entièrement le jugement pour outrage et ses instructions de renvoi associées.
Selon les documents détaillés par MacRumors et AppleInsider, le mémoire d'Apple, préparé par Gregory G. Garre de Latham & Watkins, fait valoir que l'injonction originale de 75 mots était silencieuse concernant les commissions sur les liens sortants et les styles de boutons spécifiques. Apple a éliminé son interdiction catégorique du détournement, a établi ses directives sur les liens d'achat externes et a autorisé les développeurs à inclure des liens externes. Lorsque Epic a contesté les exigences de commission et de conception, les tribunaux inférieurs ont trouvé Apple en état d'outrage civil pour avoir contrarié les objectifs concurrentiels plus larges du décret.
Apple soutient que dissocier l'outrage civil des commandements textuels non ambigus viole l'exigence de spécificité de la règle 65(d) et prive les parties réglementées d'un avis équitable. Selon le dossier officiel de la Cour suprême, Epic Games doit déposer son mémoire en réponse le 13 novembre 2026, avec des plaidoiries à suivre selon un calendrier fixé par la Cour en 2027.

Chronologie du litige Epic v. Apple sur le détournement
| Date / Période | Événement procédural | Contexte opérationnel |
|---|---|---|
| 10 septembre 2021 | Décision du tribunal de district | L'injonction UCL interdit à Apple d'empêcher les liens externes |
| 16 janvier 2024 | Dépôt du plan de conformité | Apple introduit les règles sur les liens d'achat externes |
| 30 avril 2025 | Ordonnance d'outrage civil | Le tribunal de district trouve Apple en outrage ; interdit les frais |
| 11 décembre 2025 | Décision du neuvième circuit | Confirme l'outrage selon « l'esprit » ; annule la règle des 0 % de frais |
| 30 juin 2026 | Examen par la Cour suprême | Certiorari accordé limité à l'outrage civil (Q1) |
| 14 septembre 2026 | Mémoire sur le fond | Apple dépose son mémoire devant la Cour suprême (n° 25-1311) |
| 13 novembre 2026 | Mémoire en réponse dû | Epic Games doit déposer son mémoire en réponse |
Ingénierie de la boucle de paiement App-vers-Web
Indépendamment de la manière dont la Cour suprême résout les limites procédurales de l'outrage civil, la réalité pratique pour les organisations d'ingénierie est établie : les développeurs peuvent implémenter des liens d'achat externes pour diriger les utilisateurs vers des paiements sur le Web. Cependant, l'exécution de ce transfert nécessite de distinguer les cadres spécifiques aux vitrines des exigences générales de l'ingénierie de paiement sur le Web mobile.
Cadres des vitrines : politique américaine vs cadres StoreKit externes régionaux
Une idée fausse courante en architecture est que tous les liens de paiement externes reposent sur des API système identiques. Les développeurs doivent découpler leurs implémentations en fonction de la géographie de la vitrine et des programmes applicables :
- Cadre de la vitrine américaine : Suite à l'injonction de 2021, les Directives d'examen de l'App Store d'Apple autorisent les applications sur la vitrine des États-Unis à inclure des boutons, des liens externes ou d'autres appels à l'action dirigeant les utilisateurs vers des mécanismes d'achat en dehors des IAP sans nécessiter le profil spécialisé « External Purchase Link Entitlement ». Les conditions commerciales, les évaluations de niveau et les mécanismes de rapport restent régis par les accords de développement applicables.
- Cadres régionaux d'achat externe StoreKit : En dehors des États-Unis, les modèles d'implémentation varient selon la juridiction et le programme Apple. Certaines vitrines (comme certains programmes de liens externes de l'Espace économique européen ou de Russie) utilisent des droits StoreKit spécifiques où l'appel à
ExternalPurchaseLink.open()présente une feuille de continuation et ajoute un jeton d'achat externe généré par Apple à l'URL à des fins d'audit. D'autres juridictions et programmes — comme la facturation alternative en Corée du Sud ou les conditions commerciales européennes en évolution — emploient des API StoreKit, des feuilles d'avis et des pipelines de rapport distincts. De plus, dans l'UE, Apple a annoncé une transition vers des conditions commerciales unifiées à compter du 1er octobre 2026, ce qui signifie que les exigences en matière de droits, d'API, de commission et de rapport doivent être évaluées par rapport à la vitrine et à l'accord applicables au développeur au moment de l'implémentation.

Construction de la boucle de paiement Web bidirectionnelle
L'architecture suivante illustre un flux de lien externe générique conçu par un commerçant. Dans les vitrines régies par des programmes de plateforme spécialisés, des API StoreKit spécifiques à la région peuvent remplacer ou encapsuler l'étape de répartition sortante si nécessaire.
- Répartition vers le navigateur sortant : L'application présente un appel à l'action ou un bouton de lien éligible. Lors de l'interaction de l'utilisateur, l'application répartit l'URL externe en utilisant des gestionnaires système standard (ou des feuilles StoreKit lorsque les API de droits régionaux l'exigent). L'application ajoute une référence de session de paiement opaque et de courte durée (par exemple,
https://checkout.example.com/pay?session_ref=chk_99182) pour corréler l'intention de l'utilisateur. Les données personnelles sensibles ou les identifiants de compte bruts ne doivent jamais être transmis dans des chaînes de requête URL en texte clair. - Traitement de la transaction côté Web : La passerelle de paiement Web ingère la référence de session, gère l'authentification du client et exécute le traitement du paiement par l'intermédiaire d'un prestataire de services de paiement externe (tel que Stripe ou Adyen).
- Confirmation côté backend du marchand : Une fois que le processeur externe confirme le paiement, le backend du marchand marque la commande comme remplie dans sa base de données faisant autorité et enregistre un reçu de réalisation.
- Navigation de retour entrante (Universal Links) : Lors de la finalisation du paiement, la page de confirmation Web propose ou initie un flux de retour vers l'application native en utilisant des Universal Links d'Apple vérifiés (par exemple,
https://checkout.example.com/payment-complete?order_ref=ord_8812). - Traitement de la scène sur l'appareil et actualisation des droits : Le système d'exploitation intercepte l'Universal Link HTTPS et transmet la charge utile à
UIWindowSceneDelegateviascene(_:continue:)ouscene(_:willConnectTo:options:). L'application native analyse la référence de commande opaque, interroge son backend via une API authentifiée pour vérifier la propriété de la transaction et met à jour les droits de l'utilisateur en conséquence.

+-------------------------------------------------------------------------+ | PIPELINE DE PAIEMENT BIDIRECTIONNEL APP-VERS-WEB | +-------------------------------------------------------------------------+ | | | [ Application iOS native : L'utilisateur sélectionne l'option d'achat externe ] | | | | | |-- (Répartit le lien sortant via UIApplication.shared.open) | | v | | [ Safari / Navigateur Web par défaut : Ouvre le portail de paiement ] | | URL: https://checkout.example.com/pay?session_ref=CHK_99182 | | | | | v | | [ Passerelle de paiement Web : Traite la transaction externe ] | | | | | |-- (Le backend du marchand confirme le paiement & enregistre le reçu) | | v | | [ Page de confirmation Web : Initie le flux de retour Universal Link vérifié ] | | URL: https://checkout.example.com/payment-complete?order_ref=ORD_8812 | | | | | v | | [ iOS intercepte l'association de domaine HTTPS (AASA validée) ] | | | | | +---------------------------------------+ | | | (Application en mémoire) | (Lancement à froid) | | v v | | [ scene(_:continue:) ] [ scene(_:willConnectTo:) ] | | | | | | +-------------------+-------------------+ | | | | | v | | [ L'application interroge le backend du marchand pour réhydrater le droit faisant autorité ]| | | | | v | | [ La hiérarchie de scène affiche l'écran de confirmation & déverrouille l'élément numérique ]| | | +-------------------------------------------------------------------------+
Cette architecture renforce une limite de sécurité essentielle : les paramètres de requête URL ne doivent jamais servir de preuve d'achat faisant autorité. Un Universal Link entrant fournit un contexte de routage de retour ; l'exécution numérique faisant autorité doit toujours être réhydratée directement à partir des services de facturation backend du marchand.
// Implémentation Swift illustrative démontrant un routage de retour sécurisé depuis un paiement Web externe.
// Valide les Universal Links entrants dans UIWindowSceneDelegate, analyse les références de commande opaques,
// et interroge les services de facturation backend faisant autorité pour mettre à jour les droits sans dépendre des cookies de navigateur.
import UIKit
struct CheckoutCompletionPayload {
let orderRef: String
}
final class PaymentReturnRouter {
static let shared = PaymentReturnRouter()
// Hôte sur liste blanche pour appliquer des limites de routage en profondeur
private let authorizedHost = "checkout.example.com"
private let authorizedPathPrefix = "/payment-complete"
private init() {}
/// Analyse et valide l'Universal Link entrant pour extraire des indices de finalisation de paiement non faisant autorité
func parseReturnURL(_ url: URL) -> CheckoutCompletionPayload? {
guard let components = URLComponents(url: url, resolvingAgainstBaseURL: true),
components.scheme == "https",
components.host == authorizedHost,
components.path.hasPrefix(authorizedPathPrefix),
let queryItems = components.queryItems else {
return nil
}
guard let orderRef = queryItems.first(where: { $0.name == "order_ref" })?.value else {
return nil
}
return CheckoutCompletionPayload(orderRef: orderRef)
}
/// Dirige la navigation de la hiérarchie de vue et délègue la validation de la transaction faisant autorité au backend
func handlePaymentCompletion(payload: CheckoutCompletionPayload, in window: UIWindow?) {
// Note : Les paramètres de requête URL ne servent pas de preuve d'achat.
// L'application native interroge les services backend faisant autorité via un canal authentifié indépendamment des paramètres de requête.
BackendBillingService.shared.verifyExternalOrder(orderRef: payload.orderRef) { result in
DispatchQueue.main.async {
guard let nav = window?.rootViewController as? UINavigationController else { return }
switch result {
case .success(let orderState):
if orderState.isPaid {
let successVC = OrderSuccessViewController(orderRef: payload.orderRef, entitlements: orderState.entitlements)
nav.pushViewController(successVC, animated: true)
} else {
let pendingVC = OrderPendingViewController(orderRef: payload.orderRef)
nav.pushViewController(pendingVC, animated: true)
}
case .failure(let error):
print("La vérification de la commande faisant autorité a échoué : \(error.localizedDescription)")
let failureVC = OrderFailureViewController()
nav.pushViewController(failureVC, animated: true)
}
}
}
}
}
// UIWindowSceneDelegate capturant la livraison d'Universal Link à travers les cycles de vie de lancement à froid et de session à chaud
class SceneDelegate: UIResponder, UIWindowSceneDelegate {
var window: UIWindow?
// Scénario 1 : Connexion d'une scène lors du lancement ou de l'activation lors du retour depuis Safari
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
guard let windowScene = scene as? UIWindowScene else { return }
let window = UIWindow(windowScene: windowScene)
let navigationController = UINavigationController(rootViewController: StorefrontViewController())
window.rootViewController = navigationController
self.window = window
window.makeKeyAndVisible()
if let userActivity = connectionOptions.userActivities.first(where: { $0.activityType == NSUserActivityTypeBrowsingWeb }),
let incomingURL = userActivity.webpageURL,
let payload = PaymentReturnRouter.shared.parseReturnURL(incomingURL) {
PaymentReturnRouter.shared.handlePaymentCompletion(payload: payload, in: window)
}
}
// Scénario 2 : Livraison d'un Universal Link à une scène existante déjà en cours d'exécution ou suspendue en mémoire
func scene(_ scene: UIScene, continue userActivity: NSUserActivity) {
guard userActivity.activityType == NSUserActivityTypeBrowsingWeb,
let incomingURL = userActivity.webpageURL,
let payload = PaymentReturnRouter.shared.parseReturnURL(incomingURL) else {
return
}
PaymentReturnRouter.shared.handlePaymentCompletion(payload: payload, in: self.window)
}
}
struct OrderState {
let isPaid: Bool
let entitlements: [String]
}
// Stubs représentant la hiérarchie des contrôleurs de vue d'application et les services de facturation
final class BackendBillingService {
static let shared = BackendBillingService()
private init() {}
func verifyExternalOrder(orderRef: String, completion: @escaping (Result<OrderState, Error>) -> Void) {
// Interroge le backend du marchand via une API sécurisée pour confirmer l'état de la transaction et l'éligibilité aux droits
completion(.success(OrderState(isPaid: true, entitlements: ["unlimited_access", "premium_tier"])))
}
}
class StorefrontViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
title = "Vitrines"
view.backgroundColor = .systemBackground
}
}
class OrderSuccessViewController: UIViewController {
let orderRef: String
let entitlements: [String]
init(orderRef: String, entitlements: [String]) {
self.orderRef = orderRef
self.entitlements = entitlements
super.init(nibName: nil, bundle: nil)
}
required init?(coder: NSCoder) { fatalError("init(coder:) n'a pas été implémenté") }
override func viewDidLoad() {
super.viewDidLoad()
title = "Commande confirmée"
view.backgroundColor = .systemGroupedBackground
}
}
class OrderPendingViewController: UIViewController {
let orderRef: String
init(orderRef: String) {
self.orderRef = orderRef
super.init(nibName: nil, bundle: nil)
}
required init?(coder: NSCoder) { fatalError("init(coder:) n'a pas été implémenté") }
override func viewDidLoad() {
super.viewDidLoad()
title = "Commande en traitement"
view.backgroundColor = .secondarySystemBackground
}
}
class OrderFailureViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
title = "Paiement échoué"
view.backgroundColor = .systemGroupedBackground
}
}
Acquisition mobile en aval et limite d'installation
Alors que le routage App-vers-Web régit les utilisateurs existants quittant une application installée pour effectuer une transaction, les commerçants numériques sont fréquemment confrontés au défi opérationnel inverse : acquérir de nouveaux clients sur le Web ouvert et les faire transiter vers une application mobile native.
Dans les campagnes marketing multicanales, les utilisateurs potentiels rencontrent fréquemment des vitrines Web ou des pages de renvoi promotionnelles via les réseaux sociaux, le marketing de contenu ou les publicités de recherche Web. Sur ces pages de renvoi Web, un client peut créer un compte, configurer un abonnement ou sélectionner une promotion avant d'installer l'application native.

+-------------------------------------------------------------------------+ | PARCOURS D'ACQUISITION MOBILE EN AVAL SÉPARÉ | +-------------------------------------------------------------------------+ | | | [ Point de contact externe : Vitrine Web / Page de renvoi promotionnelle ] | | Contexte capturé : ?campaign_id=fall_sale&promo_code=SAVE20&sku=8831 | | | | | v | | [ L'utilisateur interagit avec la campagne / Clique sur l'appel à l'action "Obtenir l'app" ] | | | | | v | | [ Redirection vers l'App Store d'Apple ] | | | | | v | | [ LA LIMITE D'INSTALLATION : Le flux de téléchargement App Store standard ne | | reconstruit pas automatiquement le contexte Web arbitraire au premier lancement ] | | | | | v | | [ L'utilisateur lance l'application pour la première fois (démarrage à froid) ] | | Comportement par défaut : Écran d'accueil générique ; contexte de campagne Web perdu. | | | | | v | | [ Moteur de Deep Linking différé : Correspondance de signal assistée par serveur ] | | | | | v | | [ Contexte éligible restauré : L'application route vers la connexion ou la réclamation de produit ] | | | | | v | | [ L'application authentifie l'utilisateur & le backend confirme les droits séparément ] | | | +-------------------------------------------------------------------------+
Lorsqu'un utilisateur non installé navigue d'une vitrine Web mobile vers l'App Store, les canaux de distribution du système d'exploitation standard ne transmettent pas de paramètres de requête Web arbitraires — tels que des balises de campagne, des jetons d'affiliation ou des références de commande en attente — dans le binaire de l'application nouvellement installée. Lors du premier lancement à froid, l'application ne peut pas identifier nativement quelle campagne promotionnelle ou quel article de catalogue Web spécifique a motivé le téléchargement.
Pour combler cette limite d'installation, les équipes d'ingénierie évaluent plusieurs cadres de gestion des liens tout au long du parcours client :
| Architecture de routage | État cible de l'application | Préservation des paramètres lors de l'installation | Modèle de propriété opérationnelle |
|---|---|---|---|
| Schémas URI personnalisés | Application cible installée | Aucune destination native lorsque l'app est absente ; nécessite une gestion de secours explicite | Appartenant à l'application (Frais de maintenance élevés) |
| Universal Links vérifiés | Application cible installée | Résout vers une page Web de secours ; ne reconstruit pas nativement le contexte Web arbitraire après le téléchargement | Domaine + appartenant à l'application (Nécessite l'hébergement AASA) |
| API d'achat externe StoreKit spécifiques à la région | Application cible installée | Dépend de la vitrine et du programme ; certains flux nécessitent des droits Apple, des divulgations système, des jetons et/ou des rapports | Géré par la plateforme (Soumis aux règles du programme régional) |
| Deep Linking Différé (DDL) | Application cible absente | Restaure les paramètres pré-installation éligibles au premier démarrage à froid | Assisté par SDK (Moteur d'attribution et de routage géré) |
Dans les architectures mobiles en production, les équipes de développement déploient des cadres de Deep Linking Différé tels que Branch, AppsFlyer, Adjust ou Opoinstall. Une plateforme comme Opoinstall enregistre les métadonnées de clic Web pré-installation éligibles — telles que les identifiants de campagne marketing ou les références SKU de produit — avant que l'utilisateur ne transite vers l'App Store.
Lors du démarrage à froid initial de l'application, le SDK client interroge le backend d'attribution pour faire correspondre l'instance de premier lancement avec la session de clic Web précédente. Selon la documentation officielle de la plateforme sur la page d'accueil d'Opoinstall, ce cadre de transfert de paramètres différé peut restaurer les paramètres au premier lancement dans jusqu'à 98 % des instances éligibles, offrant une alternative automatisée à l'entrée manuelle de code promotionnel ou à la navigation générique au premier lancement.
Maintenir des limites architecturales précises est vital : le deep linking différé n'authentifie pas les comptes d'utilisateurs, ne prouve pas la propriété du paiement et ne contourne pas les politiques d'examen des plateformes. Il restaure un contexte pré-installation non faisant autorité (tel qu'une référence de commande ou une balise de parrainage), permettant à l'application de guider l'utilisateur vers l'écran de connexion ou de rédemption approprié, où la vérification de l'identité backend et le déverrouillage des droits doivent être effectués indépendamment.
Questions fréquemment posées (FAQ)
Quelle est la question principale que la Cour suprême a accepté de trancher dans l'affaire *Apple v. Epic Games* ?
Chaque lien d'achat externe sur iOS nécessite-t-il le droit « External Purchase Link Entitlement » ?
Comment les applications mobiles maintiennent-elles l'état lors d'un retour depuis un paiement Web externe ?
Conseils stratégiques pour les équipes d'ingénierie mobile
L'examen par la Cour suprême de l'affaire Apple v. Epic Games met en lumière l'évolution juridique et réglementaire persistante régissant les marchés d'applications mobiles. Cependant, les architectes logiciels et les ingénieurs en facturation ne peuvent pas se permettre de traiter le routage des paiements comme une réflexion après coup en attendant les résultats judiciaires.
Les organisations d'ingénierie exploitant des applications iOS mondiales devraient ancrer leurs systèmes autour de trois principes architecturaux :
-
Découpler la logique de paiement régionale : Séparez les implémentations de routage de paiement entre les règles de liaison externe américaines standard et les cadres de droits StoreKit spécifiques à la région pour garantir la conformité à travers diverses vitrines juridiques.
-
Renforcer les rappels Universal Link entrants : Construisez des gestionnaires Universal Link résilients au sein de
UIWindowSceneDelegatequi valident les schémas, les hôtes et les chemins attendus, en traitant les paramètres de requête entrants comme des indices de routage plutôt que comme des reçus de transaction faisant autorité. -
Isoler le contexte d'attribution de l'autorité de paiement : Utilisez le Deep Linking Différé pour préserver l'intention de l'utilisateur à travers les entonnoirs d'installation de l'application, tout en veillant à ce que l'authentification du compte et le déverrouillage des droits numériques restent strictement appliqués par des services backend sécurisés et faisant autorité.
Références
-
Cour suprême des États-Unis. (2026). Dossier n° 25-1311, Apple Inc., Pétitionnaire v. Epic Games, Inc..
-
Cour suprême des États-Unis. (2026). Mémoire pour le pétitionnaire Apple Inc., n° 25-1311.
-
Cour d'appel des États-Unis pour le neuvième circuit. (2025). Epic Games, Inc. v. Apple, Inc., n° 25-2935, 161 F.4th 1162.
-
Apple Developer. (2026). Directives d'examen de l'App Store. Documentation Apple.
-
Apple Developer. (2026). Droit d'achat externe StoreKit. Documentation Apple.
-
Apple Developer. (2026). Prise en charge des Universal Links dans votre application. Documentation Apple.
-
Apple Developer. (2026). Gérer le cycle de vie de votre application avec UIWindowScene. Documentation Apple.
-
MacRumors. (2026). Apple demande à la Cour suprême d'annuler la décision pour outrage dans l'App Store.
-
AppleInsider. (2026). Apple maintient sa position dans le procès sur les frais de l'App Store d'Epic.
-
Opoinstall. (2026). Présentation du Deep Linking Différé et de l'installation d'application paramétrée.
Share this article



