View in English

  • Apple Developer
    • Get Started

    Explore Get Started

    • Overview
    • Learn
    • Apple Developer Program

    Stay Updated

    • Latest News
    • Hello Developer
    • Platforms

    Explore Platforms

    • Apple Platforms
    • iOS
    • iPadOS
    • macOS
    • tvOS
    • visionOS
    • watchOS
    • App Store

    Featured

    • Design
    • Distribution
    • Games
    • Accessories
    • Web
    • Home
    • CarPlay
    • Technologies

    Explore Technologies

    • Overview
    • Xcode
    • Swift
    • SwiftUI

    Featured

    • Accessibility
    • App Intents
    • Apple Intelligence
    • Games
    • Machine Learning & AI
    • Security
    • Xcode Cloud
    • Community

    Explore Community

    • Overview
    • Meet with Apple events
    • Community-driven events
    • Developer Forums
    • Open Source

    Featured

    • WWDC
    • Swift Student Challenge
    • Developer Stories
    • App Store Awards
    • Apple Design Awards
    • Apple Developer Centers
    • Documentation

    Explore Documentation

    • Documentation Library
    • Technology Overviews
    • Sample Code
    • Human Interface Guidelines
    • Videos

    Release Notes

    • Featured Updates
    • iOS
    • iPadOS
    • macOS
    • watchOS
    • visionOS
    • tvOS
    • Xcode
    • Downloads

    Explore Downloads

    • All Downloads
    • Operating Systems
    • Applications
    • Design Resources

    Featured

    • Xcode
    • TestFlight
    • Fonts
    • SF Symbols
    • Icon Composer
    • Support

    Explore Support

    • Overview
    • Help Guides
    • Developer Forums
    • Feedback Assistant
    • Contact Us

    Featured

    • Account Help
    • App Review Guidelines
    • App Store Connect Help
    • Upcoming Requirements
    • Agreements and Guidelines
    • System Status
  • Quick Links

    • Events
    • News
    • Forums
    • Sample Code
    • Videos
 

Vidéos

Ouvrir le menu Fermer le menu
  • Collections
  • Toutes les vidéos
  • À propos

Plus de vidéos

  • À propos
  • Résumé
  • Code
  • Découvrez le framework ManagedApp

    Découvrez comment le framework ManagedApp aide votre app à s'adapter aux environnements gérés. Nous vous montrerons comment recevoir des données de configuration, gérer les secrets d'app en toute sécurité et adapter le comportement de votre app en fonction des paramètres fournis par l'organisation. Nous présenterons également des exemples concrets illustrant comment vous pouvez créer des apps plus flexibles et plus faciles à gérer pour les environnements d'entreprise et d'éducation.

    Chapitres

    • 0:00 - Bienvenue
    • 2:51 - Présentation du framework ManagedApp
    • 5:14 - Workflow
    • 7:26 - Exemples de scénarios
    • 12:17 - Implémentation
    • 21:27 - Bonnes pratiques

    Ressources

    • Apple School Manager and Apple Business APIs
    • ManagedApp
    • Support - Apple Platform Deployment
    • Apple School Manager User Guide
    • Apple Business Manager User Guide
      • Vidéo HD
      • Vidéo SD

    Vidéos connexes

    WWDC25

    • Nouveautés en matière de gestion des appareils Apple et de l’identité
  • Rechercher dans cette vidéo…
    • 0:01 - Your app's managed configuration

      // Your app's managed configuration
      
      struct LandmarksManagedConfig: Decodable {
      
          private(set) var collection: LandmarkCollection?
      
          private enum CodingKeys: String, CodingKey {
              case collection
          }
      
          init(from decoder: Decoder) throws {
              let values = try decoder.container(keyedBy: CodingKeys.self)
              collection = try values.decode(LandmarkCollection.self, forKey: .collection)
          }
      }
    • 0:02 - Receiving the current configuration

      // Receiving the current configuration
      
      import ManagedApp
      
      // [...]
      
      var managedCollection: LandmarkCollection?
      
      // [...]
      
      func loadCollections() {
          // [...]
          Task {
              let configProvider = ManagedAppConfigurationProvider()
      
              for await config in await configProvider.configurations(LandmarksManagedConfig.self) {
                  // config's type is LandmarksManagedConfig?
                  managedCollection = config?.collection
              } // Loops forever
          }
      }
    • 0:03 - Using an identity

      // Using an identity
      
      final class MyURLSessionDelegate: NSObject, URLSessionDelegate {
      
          func urlSession(_ session: URLSession,
                          didReceive challenge: URLAuthenticationChallenge)
              async -> (URLSession.AuthChallengeDisposition, URLCredential?) {
              switch challenge.protectionSpace.authenticationMethod {
              case NSURLAuthenticationMethodClientCertificate:
      
                  // Look up the identity
                  let provider = ManagedAppIdentitiesProvider()
                  let id = "AssetDownloadClient"
                  guard let identity = try? await provider.identity(withIdentifier: id) else {
                      // No identity, cancel the challenge
                      return (.cancelAuthenticationChallenge, nil)
                  }
      
                  // Use the identity to authenticate.
                  return (.useCredential, URLCredential(identity: identity,
                                                        certificates: nil,
                                                        persistence: .forSession))
              default:
                  return (.performDefaultHandling, nil)
              }
          }
      }
    • 0:00 - Bienvenue
    • Le framework ManagedApp simplifie la configuration des apps pour les déploiements gérés au sein des organisations. Ce framework élimine le processus complexe et fastidieux auquel les utilisateurs sont confrontés lors de la configuration des apps, qui peut être source de frustration, réduire l’utilisation des apps et augmenter les coûts de support. Grâce à l’infrastructure ManagedApp, vous pouvez préconfigurer des apps pour chaque organisation, appareil et utilisateur, ce qui permet de les utiliser immédiatement après leur lancement. Cette approche améliore l’expérience utilisateur, favorise l’adoption des apps et réduit la charge de travail des administrateurs. Elle rend ainsi le déploiement des apps plus efficace et plus rentable.

    • 2:51 - Présentation du framework ManagedApp
    • Le framework ManagedApp permet aux administrateurs de configurer en toute sécurité les apps gérées et leurs extensions. Ce framework facilite l’authentification des appareils et des utilisateurs, répond à des exigences de sécurité élevées et fournit des mots de passe, des certificats, des identités et des données de configuration spécifiques aux apps. Le système stocke ces données en toute sécurité et les rend accessibles uniquement aux apps ou extensions gérées autorisées. Le framework s’intègre à d’autres technologies de gestion des appareils et prend en charge la plupart des types d’extensions d’apps. Il renforce ainsi la sécurité des données et le contrôle d’accès pour les appareils gérés.

    • 5:14 - Workflow
    • Les administrateurs peuvent utiliser ce framework pour gérer à distance les appareils et les apps à l’aide d’un serveur MDM. Le framework facilite la transmission sécurisée des paramètres de configuration et des secrets de l’administrateur vers l’app. Vous jouez un rôle crucial en rédigeant des décodeurs et des spécifications qui détaillent la manière dont les autres peuvent configurer vos apps. Les administrateurs utilisent ces informations pour adapter le comportement de l’app aux besoins spécifiques de leur organisation tout en améliorant la sécurité et les fonctionnalités. Le framework sert de plateforme qui permet de créer des solutions innovantes pour votre entreprise.

    • 7:26 - Exemples de scénarios
    • Le framework ManagedApp améliore la sécurité et les fonctionnalités des apps gérées dans divers scénarios. Il permet la distribution sécurisée des clés de licence pour remplacer les jetons de licence moins sécurisés, et fournit des identités cryptographiques à des fins d’octroi de licence. Par exemple, ce framework est particulièrement utile pour les extensions VPN, car il offre une authentification forte grâce à une clé matérielle certifiée. De plus, pour les fournisseurs d’identité, le framework ManagedApp facilite l’authentification unique extensible avec divers supports d’authentification, tels que les identités matérielles, les mots de passe temporaires et les jetons. Dans l’ensemble, le framework ManagedApp améliore la sécurité des apps, simplifie la gestion et prend en charge les extensions d’apps, ce qui en fait une solution supérieure pour les entreprises qui déploient des apps gérées.

    • 12:17 - Implémentation
    • Dans iOS, ce framework simplifie le processus de transmission sécurisée des configurations et des secrets aux apps. Il se compose de quatre classes indépendantes, chacune conçue pour gérer un type de données spécifique : les chaînes, les SecCertificates, les SecIdentities et les configurations spécifiques aux apps. Pour les configurations spécifiques à une app, vous pouvez définir la structure des données à l’aide de structures Swift. Cette flexibilité permet aux administrateurs de personnaliser le comportement de l’app en fonction de leurs besoins. L’app Landmarks, que les administrateurs peuvent configurer pour afficher des collections de sites touristiques spécifiques à utiliser en classe, en est un exemple. À cette fin, vous créez une structure qui représente les paramètres configurables, tels que la collection gérée. Cette structure est conforme au protocole « Decodable », ce qui permet au framework de décoder les données de configuration reçues du serveur de gestion des appareils mobiles (MDM). L’app utilise ensuite la concurrence Swift pour récupérer la configuration de manière asynchrone. Ainsi, le processus ne bloque pas le thread principal. Lorsque l’administrateur met à jour la configuration, l’app reçoit et applique automatiquement les modifications, ce qui la rend dynamique et flexible. Le framework prend également en charge le traitement des informations sensibles, telles que les identités. Vous pouvez utiliser le fournisseur d’identités ManagedApp pour rechercher et récupérer en toute sécurité les identités provisionnées. Cette fonctionnalité simplifie l’utilisation de l’authentification TLS mutuelle, ce qui permet à l’app de se connecter en toute sécurité aux serveurs d’actifs. Enfin, pour permettre aux administrateurs de configurer efficacement l’app, vous devez publier une spécification qui documente le format de configuration, les valeurs valides, les codes d’erreur et tous les identifiants secrets pris en charge. Cette spécification sert de guide aux administrateurs et les aide à créer et à appliquer correctement les configurations.

    • 21:27 - Bonnes pratiques
    • Lors du développement de votre app, veillez à bien respecter les bonnes pratiques de gestion de configuration. Téléchargez les données depuis un serveur distant au lieu de les intégrer directement dans la configuration, celle-ci étant limitée à quelques kilo-octets seulement. N’oubliez pas de vérifier les éléments de sécurité requis et assurez-vous d’utiliser systématiquement la version la plus récente. Les paramètres de configuration doivent être précis et indépendants les uns des autres pour permettre aux administrateurs d’ajuster le système selon leurs besoins. Garantir une compatibilité ascendante et descendante est essentiel : les décodeurs doivent pouvoir fonctionner avec les anciens paramètres tout en ignorant les nouvelles fonctionnalités sans problème. Lors de la création de vos apps, pensez à faciliter le travail des évaluateurs en leur permettant d’explorer toutes les fonctionnalités, y compris celles qui demandent des droits d’administration ou des réglages particuliers. Pour cela, n’hésitez pas à proposer des modes démo, des tutoriels vidéo ou des comptes de test. Soyez innovants, restez à l’écoute des retours utilisateurs et privilégiez le framework ManagedApp pour une expérience plus intuitive.

Developer Footer

  • Vidéos
  • WWDC25
  • Découvrez le framework ManagedApp
  • Open Menu Close Menu
    • iOS
    • iPadOS
    • macOS
    • tvOS
    • visionOS
    • watchOS
    • App Store
    Open Menu Close Menu
    • Swift
    • SwiftUI
    • Swift Playground
    • TestFlight
    • Xcode
    • Xcode Cloud
    • Icon Composer
    • SF Symbols
    Open Menu Close Menu
    • Accessibility
    • Accessories
    • Apple Intelligence
    • Audio & Video
    • Augmented Reality
    • Business
    • Design
    • Distribution
    • Education
    • Games
    • Health & Fitness
    • In-App Purchase
    • Localization
    • Maps & Location
    • Machine Learning & AI
    • Security
    • Safari & Web
    Open Menu Close Menu
    • Documentation
    • Downloads
    • Sample Code
    • Videos
    Open Menu Close Menu
    • Help Guides & Articles
    • Contact Us
    • Forums
    • Feedback & Bug Reporting
    • System Status
    Open Menu Close Menu
    • Apple Developer
    • App Store Connect
    • Certificates, IDs, & Profiles
    • Feedback Assistant
    Open Menu Close Menu
    • Apple Developer Program
    • Apple Developer Enterprise Program
    • App Store Small Business Program
    • MFi Program
    • Mini Apps Partner Program
    • News Partner Program
    • Video Partner Program
    • Security Bounty Program
    • Security Research Device Program
    Open Menu Close Menu
    • Meet with Apple
    • Apple Developer Centers
    • App Store Awards
    • Apple Design Awards
    • Apple Developer Academies
    • WWDC
    Read the latest news.
    Get the Apple Developer app.
    Copyright © 2026 Apple Inc. All rights reserved.
    Terms of Use Privacy Policy Agreements and Guidelines