-
Boostez les performances de votre app pour CarPlay
Découvrez comment intégrer vos activités en temps réel et vos widgets dans CarPlay et CarPlay Ultra, afin que les utilisateurs puissent suivre la progression de leurs activités et afficher les informations pertinentes d'un simple coup d'œil. Explorez les nouvelles options de modèles disponibles pour toutes les apps CarPlay, et découvrez comment les apps de navigation peuvent fournir des métadonnées étape par étape pour un affichage sur le tableau de bord ou l'affichage tête haute.
Chapitres
- 0:00 - Introduction
- 1:27 - CarPlay Ultra
- 2:14 - Widgets
- 5:07 - Activités en temps réel
- 6:49 - Framework CarPlay
- 17:15 - Démo
- 21:38 - Étapes suivantes
Ressources
Vidéos connexes
WWDC25
WWDC24
- Meet the next generation of CarPlay architecture
- Say hello to the next generation of CarPlay design system
WWDC22
-
Rechercher dans cette vidéo…
-
-
3:21 - Set CarPlay as a disfavored location
// Disfavored locations modifier for CarPlay WidgetConfiguration() .disfavoredLocations([.carPlay], for: [.systemSmall]) -
10:05 - List template with pinned elements with grid buttons
// Pinned elements var headerGridButtons: [CPGridButton]? // Create a Grid Button class CPGridButton init(titleVariants: [String], image: UIImage, handler: ((CPGridButton) -> Void)?) -
10:22 - List template with pinned elements with grid buttons for messages
// Pinned elements var headerGridButtons: [CPGridButton]? // For Communication apps class CPGridButton init(titleVariants: [String], image: UIImage, messageConfiguration: CPMessageGridItemConfiguration?, handler: ((CPGridButton) -> Void)?) class CPMessageGridItemConfiguration init(conversationIdentifier: String, unread: Bool) -
11:20 - Now playing template with sports mode
// Now playing template with sports mode let clock = CPNowPlayingSportsClock(elapsedTime: time, paused: false) let status = CPNowPlayingSportsEventStatus( eventStatusText: ["1st"], // 1st quarter eventStatusImage: UIImage(named: "Semifinals"), eventClock: clock ) let sports = CPNowPlayingModeSports( leftTeam: getLeftTeam(), // CPNowPlayingSportsTeam rightTeam: getRightTeam(), // CPNowPlayingSportsTeam eventStatus: status, backgroundArtwork: getBackgroundArtwork() // get UIImage ) CPNowPlayingTemplate.sharedTemplate.nowPlayingMode = sports -
14:15 - Multitouch callbacks
// Multitouch // Zoom callback func mapTemplate(_ mapTemplate: CPMapTemplate, didUpdateZoomGestureWithCenter center: CGPoint, scale: CGFloat, velocity: CGFloat) { } // Pitch callback func mapTemplate(_ mapTemplate: CPMapTemplate, pitchWithCenter center: CGPoint) { } // Rotate callback func mapTemplate(_ mapTemplate: CPMapTemplate, didRotateWithCenter center: CGPoint, rotation: CGFloat, velocity: CGFloat) { } -
16:28 - Add support for metadata
// Add support for metadata // Declare support func mapTemplateShouldProvideNavigationMetadata(_ mapTemplate: CPMapTemplate) -> Bool { true } // Provide maneuver information up-front cpNavigationSession.add(maneuvers) cpNavigationSession.add(laneGuidance) // Reroute cpNavigationSession.pauseTrip(for: .rerouting, description: "Rerouting") cpNavigationSession.resumeTrip(updatedRouteInformation: cpRouteInformation)
-
-
- 0:00 - Introduction
Dans iOS 26, CarPlay propose des widgets, des Activités en temps réel, le zoom intelligent et une apparence mise à jour dont vos apps bénéficient automatiquement.
- 1:27 - CarPlay Ultra
CarPlay Ultra réunit le meilleur de votre iPhone et de votre voiture dans une expérience unifiée, cohérente et personnalisée. Toutes les nouveautés, y compris vos apps, sont aussi disponibles dans CarPlay Ultra.
- 2:14 - Widgets
Vos widgets s’affichent dans CarPlay même si vous ne disposez pas d’une app CarPlay dédiée. Il vous suffit simplement de prendre en charge la famille de widgets systemSmall. Si votre widget n’est pas fonctionnel ou adapté à l’utilisation en voiture, ajoutez carPlay à la propriété disfavoredLocations.
- 5:07 - Activités en temps réel
Les Activités en temps réel s’affichent dans le tableau de bord de CarPlay ou sous forme de notifications. CarPlay utilise la classe de taille « small » de la famille d’activités, la même que celle utilisée pour le défilement intelligent de watchOS. Si vous n’implémentez pas la classe de taille « small » de la famille d’activités, CarPlay utilisera vos vues compactes leading et trailing. Utilisez l’app CarPlay Simulator sur macOS pour tester les widgets et les Activités en temps réel.
- 6:49 - Framework CarPlay
Utilisez le framework CarPlay pour proposer une version de votre app compatible avec CarPlay. CarPlay prend en charge les catégories d’apps audio, communication, tâches liées à la conduite, recharge de véhicules électriques, ravitaillement en carburant, navigation, stationnement et commande rapide de repas via des API de modèles. Le modèle de liste a été mis à jour avec cinq nouveaux styles de présentation pour les éléments avec image, ainsi que la possibilité d’épingler des éléments en haut des listes pour un accès rapide. Le modèle « Lecture en cours » dispose désormais d’un mode sport permettant d’afficher les scores des équipes lors d’évènements en streaming. Les apps audio peuvent prendre en charge l’Audio spatial et le Dolby Atmos grâce à la mise en mémoire tampon audio améliorée via AirPlay. Les apps de navigation peuvent afficher des informations sur plusieurs écrans, y compris les métadonnées des manœuvres dans le combiné d’instruments ou l’affichage tête haute des véhicules compatibles.
- 17:15 - Démo
Pour cette démonstration, l’app de navigation CarPlay Coastal Roads a été mise à jour pour transmettre les métadonnées de manœuvre au véhicule. L’app fournit un ensemble de types de manœuvres, de distances et de noms de rues, que le véhicule rend et affiche, ici sur l’écran du combiné d’instruments.
- 21:38 - Étapes suivantes
Grâce aux widgets et aux Activités en temps réel, il existe plus de moyens que jamais d’intégrer votre app à CarPlay. Les mises à jour du framework CarPlay rendent votre app plus riche et plus performante.