
-
Platforms State of the Union
Learn about the latest tools, technologies, and advancements to help you create even better apps across Apple platforms, including the all-new visionOS.
Chapitres
- 0:00:00 - Introduction
- 0:04:03 - Swift, SwiftUI, SwiftData
- 0:19:22 - WidgetKit, App Intents, TipKit, AirDrop
- 0:27:03 - Gaming, Camera, Video conferencing, watchOS
- 0:39:41 - Accessibility, Privacy, App Store
- 0:52:21 - Xcode
- 1:00:30 - visionOS
- 1:28:06 - Conclusion
Ressources
-
Rechercher dans cette vidéo…
♪ ♪
♪ ♪
Bienvenue à la plateforme State of the Union 2023 ! Nous sommes ravis d'en dire plus sur les avantages de ce qui arrive dans nos nouvelles versions. Comme les widgets interactifs sur iOS et iPadOS, qui facilitent l'apparition de vos apps sur tout le système, une nouvelle expérience de widget sur macOS, le magnifique design de watchOS 10, l'appareil photo Continuité sur tvOS et, bien sûr, une toute nouvelle plateforme avec visionOS. La plateforme State of the Union livre certains des développements les plus passionnants, impactants et importants des versions de cette année. Et ce que nous vous proposons est à la hauteur de tous ces enjeux. Avant de nous lancer, j'aimerais évoquer ce qui fait une bonne plateforme et de bonnes apps. Une bonne plateforme est plus qu'une série de frameworks et de technologies. Il s'agit d'ingrédients clés associés pour créer quelque chose de spécial. C'est la combinaison d'un langage, de frameworks, d'outils et de services créés pour fonctionner ensemble de manière fluide, pour que la manière la plus naturelle d'écrire un code soit aussi la meilleure. Un riche ensemble d'API pour vous aider à créer des expériences étonnantes qui s'intègrent au système, que l'app soit ouverte ou non. Des moyens bien pensés pour profiter en toute sécurité des technologies matérielles de pointe dans une large gamme de produits. Enfin, une grande plateforme évolue pour relever de nouveaux défis et vous aider à répondre aux besoins des utilisateurs. Les plus de 300 frameworks de nos plateformes sont des éléments de base pour aller vers ce qui est innovant, créatif et différent dans votre app. Ils font plus que vous faire gagner du temps ou vous aider à ajouter une fonctionnalité. En utilisant cette base de manière ciblée, l'app s'intègre parfaitement et prolonge le système lui-même. Et c'est la clé d'une app de qualité. Une bonne app offre la bonne information, au bon moment et au bon endroit. Il peut s'agir de la feuille de partage, de l'écran verrouillé, de Spotlight, de Siri ou de tout autre endroit. Une bonne app tire parti d'un matériel comme un nouveau capteur ou une puce puissante avec l'aide de frameworks qui mettent ces capacités à portée de main. Elle permet de faire des choses qu'il est vital de réussir, comme créer des produits sûrs, accessibles et respectueux de la vie privée. Nos plateformes et vos apps s'associent pour fournir tout cela avec la cohérence et la fiabilité attendues et appréciées. Ceci est très important. Nous avons la passion des excellentes plateformes et apps. L'utilisatrice voit leur différence. Les fondations communes d'iOS, iPadOS, macOS, tvOS, watchOS et maintenant visionOS forment un écosystème cohérent pour proposer vos apps sur toute la gamme de plateformes et de produits Apple. Vos apps sont la clé de cet écosystème. Elles permettent de vaquer à ses occupations grâce à des expériences conviviales qui passent d'un appareil à l'autre en toute transparence. Chez Apple, on parle souvent de construire ce que l'on veut utiliser et c'est encore plus vrai avec notre approche de nos plateformes. Nous sommes aussi développeurs ! Chez Apple, nous utilisons les mêmes langage, outils et frameworks. Le programme d'aujourd'hui est vaste. D'abord, les derniers développements de Swift et SwiftUI, et leur utilisation sur nos plateformes pour créer des expériences étonnantes. Nous parlerons du parti à tirer des fonctionnalités matérielles et de la possibilité de prioriser les valeurs dans les expériences créées. Et nous vous présenterons les améliorations aux puissants outils que nous utilisons tous au quotidien. Enfin, nous plongerons dans les technologies de notre dernière plateforme, visionOS, et vous apprendrons à créer la prochaine génération d'apps pour Apple Vision Pro. Tout d'abord, je laisse la parole à Holly pour évoquer les nouveautés de Swift.
Holly Borla : Swift est à la base de beaucoup d'API utilisées chaque jour. Rapide, moderne et sûr, il vous guide vers un code efficace, expressif et correct. Les API permettent de tirer parti des bibliothèques et des fonctionnalités de la plateforme, et de créer des expériences propres à votre app. Mais certaines API peuvent être difficiles à utiliser et vous obliger à écrire beaucoup de code standard juste pour commencer. C'est pourquoi Swift ouvre la voie à un nouveau type d'API, plus facile à utiliser et à mettre en œuvre grâce à l'introduction de macros. Ces macros sont réalisées à la manière Swift. Une macro est une annotation qui utilise la structure de votre code pour générer un nouveau code intégré à votre projet. Les macros peuvent être attachées à votre code en tant qu'attributs ou être indépendantes, avec le signe dièse. Les macros donnent l'impression que les API font partie du langage, il y a des façons de commencer à utiliser une nouvelle API à l'aide d'une simple annotation. Les macros prennent vie dans Xcode, où le code généré donne l'impression de faire partie de votre projet. Je vais vous montrer. J'ai créé une macro URL qui vérifie les chaînes URL valides. Comme les macros génèrent du code Swift normal, je peux utiliser la fonction "Expand Macro" dans Xcode pour voir exactement ce qu'elles font. Cette macro semble très simple. Elle appelle l'initialisateur d'URL et force le déballage du résultat. Mais la macro URL va plus loin. Elle vérifie que la chaîne est une URL valide au moment de la compilation. Par exemple, les URL ne peuvent pas contenir d'espaces, donc si j'en ajoute une, la macro fournit un message d'erreur personnalisé et un correctif permettant de supprimer automatiquement l'espace de la chaîne. Ce qui aurait été une erreur quand mon app s'exécute en retour d'information lorsque j'écris mon code, ce qui me permet de corriger les erreurs immédiatement. Toute macro peut fournir un retour d'information personnalisé pour vous aider à écrire un code correct. Les macros attachées vont encore plus loin, car elles peuvent ajouter de nouvelles fonctionnalités au code déjà écrit. Voyons ce que les macros attachées peuvent faire. J'ai une fonction appelée fetchContent qui effectue un travail asynchrone et utilise des gestionnaires d'achèvement, mais je veux utiliser async/await. Au lieu d'implémenter une autre fonction fetchContent, je peux attacher la macro AddAsync. Et le tour est joué ! Au lieu de passer par un gestionnaire d'achèvement lorsque j'appelle fetchContent, je peux simplement attendre le résultat. Comme pour toute autre API, je peux utiliser l'aide rapide de la macro pour consulter sa documentation. Mais si je veux comprendre comment ça marche sous le capot, je peux mettre un point d'arrêt, exécuter mon code, entrer dans la fonction asynchrone, et Xcode développera la macro directement dans mon éditeur de source.
C'est super, parce qu'il n'y a pas de secrets. Entrer dans une macro développée pendant le débogage est un moyen naturel de regarder dans les coulisses et de m'aider à comprendre ce qui se passe dans mon code. Vous pouvez écrire vos propres macros, ce qui vous permet d'étendre le langage d'une façon qui n'était autrefois possible qu'en adaptant des fonctionnalités dans le compilateur Swift. Swift étant développé en open source, les développeuses utilisent déjà des macros pour construire certaines fonctionnalités les plus demandées du langage, notamment la génération automatique de descriptions riches d'échecs d'assertion, la fourniture de conformités de protocole par défaut personnalisables, et la liste continue de s'allonger. Les macros sont également utilisées dans de nombreuses nouvelles API de cette année. Vous pouvez bénéficier des macros créées par la communauté ou partager vos propres macros avec d'autres, grâce aux paquets Swift.
Les avancées du langage, comme les macros, permettent à Swift d'être adopté dans plus de projets que jamais. Parlons de tout votre code qui n'est pas écrit en Swift. Depuis sa création, Swift offre une interopérabilité bidirectionnelle avec C et Objective-C. Vous pouvez introduire Swift dans vos projets un seul fichier ou module à la fois, sans avoir à réécrire des bases de code entières. Swift étend cette interopérabilité à C++. L'interopérabilité Swift-C++ vous permet d'utiliser les deux langages dans le même projet sans couche de transition intermédiaire. Vous pouvez partager vos classes, vos fonctions et même les spécialisations de modèles comme le vecteur entre les deux langages en définissant un drapeau de compilation. L'utilisation de C++ à partir de Swift éliminera bien des sources de comportement non défini dans votre code, comme l'utilisation de variables avant leur initialisation. Et la transition est efficace : les appels sont effectués nativement entre votre code Swift et C++, avec un temps système minimal. L'interopérabilité Swift-C++ est déjà utilisée en open source, contribuant à la transition du compilateur Swift lui-même de C++ à Swift, et je suis très enthousiaste à l'idée d'utiliser Swift pour implémenter Swift. Les objectifs fondamentaux de Swift, à savoir un code sûr et expressif, sont ancrés dans les bibliothèques construites avec lui. Et cela n'est nulle part plus évident qu'avec SwiftUI. Voici Josh qui vous en dira plus. La meilleure façon de construire des UI modernes sur toutes les plateformes Apple est de recourir à SwiftUI. SwiftUI permet d'écrire de meilleures apps avec moins de code pour vous concentrer sur ce qui leur est unique. Il permet également de maximiser la réutilisation du code de l'interface. L'app Streaks de Crunchy Bagel sur les habitudes saines en est un bon exemple. Ils ont commencé à utiliser SwiftUI pour créer des widgets pour iOS. Puis ils ont partagé ce code avec leur app watchOS et l'ont enrichi de superbes animations. Et maintenant, ils ont réintégré le même code dans leur app iOS d'origine. L'adoption progressive leur a permis de partager le code de l'UI à leur rythme et de voir les avantages de SwiftUI dans leurs apps existantes. SwiftUI est aussi incroyablement performante et permet d'utiliser des interfaces sophistiquées dans des apps comme les nouveaux Logic Pro et Final Cut Pro pour iPad. L'adoption de SwiftUI dans vos apps vous prépare à créer la prochaine génération d'interfaces utilisateur. Et ce que l'on peut construire avec SwiftUI ne cesse de s'étendre. Comme toujours, les nouvelles capacités des versions de cette année se concentrent sur des domaines à fort impact et sur les demandes des développeurs, comme la prise en charge des camemberts et la sélection dans les graphiques Swift, une toute nouvelle API d'inspection, une prise en charge étendue de MapKit, dont Overlays, Look Around, et bien d'autres choses encore. Ces améliorations couvrent un large éventail de fonctionnalités, mais la plupart d'entre elles sont axées sur l'amélioration des animations. C'est là un domaine clé, car des animations bien conçues facilitent l'utilisation de votre interface. Elles peuvent informer les utilisatrices qu'il se passe quelque chose. Elles peuvent également confirmer qu'une tâche s'est achevée avec succès. C'est pourquoi SwiftUI a toujours disposé de fonctionnalités avancées telles que des animations réversibles, interruptibles et annulables. Cette année, SwiftUI pousse les animations encore plus loin. Cela commence par leur mode de déplacement. Les animations sont souvent déclenchées par un geste de l'utilisateur. Désormais, SwiftUI peut transférer automatiquement la vitesse de votre geste dans votre animation, assurant ainsi une transition en douceur. Les animations utilisent désormais par défaut un mouvement à base de ressort qui peut être configuré à l'aide de deux paramètres simples : la durée et le rebond. SwiftUI peut également tirer parti des nouveaux effets animés de SF Symbols, qui donnent vie à l'iconographie de vos apps. Enfin, lorsque vous devez créer des animations en plusieurs parties, SwiftUI dispose d'une nouvelle API appelée AnimationPhase pour créer des animations sophistiquées avec quelques lignes de code. J'ai créé un exemple d'app pour illustrer de nouvelles API comme AnimationPhase, inspirée par le magnifique paysage de l'Apple Park. Elle offre une expérience apaisante permettant de créer des espaces extérieurs et de donner à manger et à boire aux oiseaux de passage. Pour ne jamais manquer un nouvel oiseau, j'ai ajouté un rappel en haut de la liste. Passons à un aperçu centré sur cette vue. Je veux vraiment faire ressortir ce symbole SF en y ajoutant de l'animation. J'ajoute d'abord un enum pour définir les différents états d'une animation personnalisée. Ensuite, j'enveloppe ma vue dans un "PhaseAnimator". C'est une nouvelle vue qui s'anime automatiquement entre un ensemble d'états. Enfin, je mets l'icône à l'échelle et la fais pivoter dans la phase d'animation '.highlighted'. C'est bien, mais ce serait encore mieux si l'arrière-plan s'animait en même temps que l'icône, je vais donc ajouter quelques modificateurs.
Pour des animations encore plus avancées, SwiftUI ajoute cette année une prise en charge de l'animation par image-clé. Cette puissante API me permet de tout animer, dont les propriétés de la nouvelle API MapKit basée sur SwiftUI. Les images-clés permettent de définir les valeurs de plusieurs propriétés à des moments précis de l'animation, puis de laisser SwiftUI interpoler les valeurs intermédiaires. Ici, j'ai utilisé des images-clés pour animer la caméra de la carte qui visite différents sites de Cupertino. Elles permettant de définir le mouvement pour différentes propriétés, nous pouvons animer indépendamment l'inclinaison, le cap et la position de la caméra pour obtenir ce mouvement fluide et continu à travers Cupertino et jusqu'à l'Apple Park. Créer l'ambiance de votre app à l'aide d'animations dans SwiftUI n'a jamais été aussi facile. Parlons maintenant du flux de données. La construction d'une app avec SwiftUI offre plusieurs choix pour introduire des données dans vos vues. SwiftUI offre un jeu d'enveloppes de propriétés pour gérer les données locales de votre vue et référencer des données tierces. Cette année, le flux de données est simplifié, vous permettant de vous concentrer sur l'État et l'Environnement. Vous avez peut-être écrit ce type de code en exposant votre modèle à SwiftUI, en vous conformant à ObservableObject et en ajoutant l'enveloppe de propriété Publiée à chaque propriété. La nouvelle prise en charge des macros par Swift simplifie cela grâce à une nouvelle macro Observable. Il suffit d'annoter une classe avec @Observable, et le tour est joué. Chaque propriété visible publiquement est publiée automatiquement. Quand vous utilisez une Observable dans vos vues SwiftUI, nul besoin d'enveloppe de propriété pour lancer les mises à jour de vue. Il vous suffit de référencer directement vos variables. Vous écrirez moins de code et obtiendrez un comportement rapide et correct par défaut. Observable permet à SwiftUI de suivre l'accès au niveau de chaque champ, le corps de votre vue n'est donc réévalué que si les propriétés spécifiques utilisées par votre vue changent. Si vous modifiez un champ non utilisé par votre vue, aucune invalidation ne se produira. Ainsi, quand vous connectez votre modèle à vos vues, comme avec le reste de SwiftUI, le code le plus naturel à écrire est aussi le code correct. SwiftUI a lancé une nouvelle génération de frameworks conçus pour Swift. Mais les avantages d'un framework natif de Swift dépassent le code de votre UI. Core Data fournit depuis longtemps des outils de gestion de données, mais sa conception est née de l'ère de l'Objective-C, et il ne profite pas pleinement de tout ce que Swift a à offrir. Beaucoup demandaient une solution de gestion de données native de Swift, conçue avec une excellente prise en charge de toutes les fonctionnalités de Swift. Laissez-moi vous présenter SwiftData. SwiftData est un framework pour modéliser et gérer les données. Il s'appuie sur la couche de persistance éprouvée de Core Data, mais avec une API entièrement repensée et réimaginée pour Swift. Comme SwiftUI, il se concentre entièrement sur le code, sans format de fichier externe. Il utilise le nouveau système de macros de Swift pour offrir une API rationalisée. En définissant un modèle en Swift, vous pourriez écrire ce genre de code, grâce à des types Swift ordinaires. Pour gérer cela avec Core Data, vous devriez alors redéfinir le même modèle en utilisant l'éditeur de modèle intégré à Xcode. Mais avec SwiftData, il suffit d'annoter votre classe avec la macro @Model. Cette simple ligne de code contient de nombreuses fonctionnalités, comme l'activation automatique de la persistance, la synchronisation iCloud, l'annulation et le rétablissement, et plus encore. Vous pouvez ensuite affiner ces comportements automatiques en annotant les propriétés avec d'autres attributs, comme en indiquant que la valeur doit être unique pour toutes les instances. SwiftData utilise le protocole Codable pour comprendre les structs et les enums, vous permettant de modéliser vos données avec vos outils familiers. Ces types sont pleinement modélisés dans le magasin de données subjacent, vous permettant d'effectuer des requêtes rapides et efficaces même sur des données structurées complexes. Et bien sûr, il est simple d'intégrer SwiftData avec SwiftUI. Nous avons construit notre app test grâce à la nouvelle macro Observable pour piloter les mises à jour des vues de SwiftUI. Mon interface est mise à jour quand je vois de nouveaux oiseaux mais mes modifications ne sont pas sauvegardées d'un cycle à l'autre. En important SwiftData, je pourrai facilement ajouter la prise en charge de la persistance. Il suffit de remplacer les deux macros Observable de mes classes existantes par la macro Model de SwiftData, et mon modèle est prêt. Au cœur de mon app, j'ajoute un modificateur pour configurer le conteneur SwiftData. Et quand je crée un nouveau jardin, je l'insère dans le contexte du modèle pour qu'elle soit persistée. Enfin, je vais connecter ma vue BackyardList aux données persistantes. C'est très facile à faire avec la nouvelle enveloppe de propriété @Query. Comme on charge des données sauvegardées, je peux supprimer l'échantillon de données par défaut utilisé au prototypage. Avant de le tester, mettons aussi à jour un widget sur lequel j'ai travaillé. Je vais juste configurer le conteneur et la requête de la même manière. Avec le conteneur partagé de l'app activé, SwiftData rend automatiquement mes données accessibles par le widget en utilisant la même API. Les jardins sont désormais persistés par SwiftData et transmis à la vue par @Query. Avant de commencer, j'ai rempli la base de données avec des données initiales pour que l'on voit déjà des oiseaux visiteurs. Et si j'ajoute un nouvel objet de jardin, quand je reviendrai à la liste, il apparaîtra sans travail supplémentaire. SwiftData offre bien plus qu'une simple persistance, comme en prenant en charge l'annulation et le rétablissement, ce qui fonctionne automatiquement. Comme on le voit, mon widget affiche déjà le jardin que nous venons de créer. Ceci montre comme il est facile de sauvegarder et de restaurer des données à l'aide de SwiftData. SwiftUI et SwiftData s'associent pour vous aider à créer des apps attrayantes et puissantes. Elles fondent une nouvelle approche du développement rendue possible par Swift, pour passer moins de temps sur les modèles standard et plus de temps à développer vos idées. Ensuite, Jonathan va vous montrer comment appliquer ces technologies pour améliorer votre app à travers le système. Je suis ravi de vous présenter quatre nouvelles expériences d'app. Avec WidgetKit, vous pouvez faire apparaître votre contenu à de nombreux endroits du système. Avec App Intents, les fonctionnalités de votre app sont intégrées au système de manière encore plus transparente. Avec TipKit, vous pouvez faire apparaître de superbes conseils directement dans votre app. Et avec AirDrop, vous pouvez rendre le partage de contenu plus pratique pour vos utilisatrices. Commençons par WidgetKit. Les widgets mettent en valeur les informations importantes de vos apps, permettant à vos utilisateurs d'y jeter un coup d'œil et d'y avoir accès tout au long de leur journée. Lancés sur l'écran d'accueil, les widgets se trouvent à bien d'autres endroits pour offrir vos expériences aux utilisatrices, à l'endroit et au moment où elles en ont besoin. Cette année, les widgets deviennent encore plus puissants. Quand vous aurez reconstruit pour iOS 17, avec quelques changements simples, vos widgets existants seront superbes en mode Veille sur l'iPhone. Ils seront à l'échelle et dessinés jusqu'aux bords, les arrière-plans supprimés pour qu'ils soient superbes côte à côte. Ils seront aussi disponibles sur l'écran verrouillé de l'iPad, à nouveau dessinés sur les bords et sans arrière-plan. Ici, ils auront une apparence visuelle uniforme afin de se fondre totalement dans l'écran verrouillé. Sur macOS Sonoma, ils seront disponibles sur le bureau en couleur, puis s'effaceront en arrière-plan quand une fenêtre aura la priorité. Vous pouvez désormais rendre vos widgets plus utiles grâce à une nouvelle prise en charge de l'interactivité. Les actions simples à réaliser d'un toucher, comme vérifier un rappel, peuvent désormais être gérées depuis votre widget. Ces mises à jour widgets sont possibles grâce à leur architecture basée sur SwiftUI. Le code du widget est exécuté de manière asynchrone pour générer du contenu, et les vues SwiftUI qu'il crée sont sauvegardées dans une archive. Plus tard, quand le widget doit être dessiné, l'archive peut être chargée, rendue en arrière-plan, puis affichée dans le cadre de l'UI du système. Quand un utilisateur appuie sur un bouton, son extension est réexécutée pour gérer l'action et mettre à jour l'UI. Cette architecture permet aussi aux widgets iPhone de s'afficher en toute transparence sur votre Mac. Grâce à la magie de Continuité, l'archive des widgets peut être envoyée en réseau vers votre Mac, et les interactions des utilisatrices renvoyées pour être gérées sur l'iPhone. Préparer vos widgets existants est un jeu d'enfant. Il suffit d'identifier l'arrière-plan de votre widget mettre à jour son remplissage pour utiliser la valeur par défaut fournie par WidgetKit. Les dispositions de SwiftUI, en piles, permettent au système d'adapter la couleur et l'espacement de votre widget selon le contexte. L'interactivité aussi est facile à adopter en ajoutant des boutons ou des bascules SwiftUI à votre widget. La nouvelle prise en charge du lancement d'un App Intent depuis ces contrôles déclenche votre extension à la demande. Quand le contenu de votre widget est mis à jour, le système déclenche une animation de transition qui fonctionne comme un Magic Move dans Keynote. Les éléments déplacés glissent vers leur nouvel emplacement et les éléments ajoutés ou supprimés s'estompent et se fondent doucement. Vous pouvez utiliser les API de transition SwiftUI standard pour personnaliser davantage et obtenir les effets que vous souhaitez. Voyons comme inclure ces nouvelles fonctionnalités à un widget existant est facile. Notre exemple d'app a un widget qui suit les événements notables dans notre jardin. Il faut d'abord identifier son arrière-plan. Voici la vue de notre widget, et l'arrière-plan se trouve ici, dans la ZStack. Il suffit de le déplacer dans le nouveau modificateur de vue d'arrière-plan du conteneur. Et à partir d'iOS 17, le remplissage du widget m'est fourni, je vais donc supprimer le remplissage que j'avais ajouté. Aujourd'hui, grâce à Swift Macros, je vois toute la chronologie de mon widget directement dans les aperçus de Xcode. Toutes mes entrées de ligne de temps sont au bas de l'écran d'aperçu. En cliquant dessus, vous verrez la façon dont mon widget s'animera à sa mise à jour. Cette transition est super, mais voyons si l'on peut se rapprocher davantage de l'arrivée d'un oiseau. Comme dans mon app, je peux utiliser les transitions standard de SwiftUI.
Ici, dans l'éditeur, je vais ajouter un modificateur de transition à mon BirdView. Essayons une poussée du bord d'attaque. C'est très bien. Le canevas d'aperçus mis à jour permet aussi de voir l'aspect de mon widget selon les contextes, comme le nouvel écran verrouillé de l'iPad ou le mode veille de l'iPhone. Examinons le mode veille. Quand l'arrière-plan est supprimé, je veux que mon oiseau ressorte. Et ses pattes sont un peu perdues ici, alors ajoutons un bain d'oiseaux. SwiftUI fournit une nouvelle variable showsWidgetContainerBackground pour personnaliser l'apparence du widget au retrait de l'arrière-plan.
Superbe ! Vous avez demandé à pouvoir interagir avec votre app depuis votre widget et maintenant, c'est possible. Ajoutons un bouton pour remplir l'eau de mon oiseau. J'ai déjà défini un App Intent pour cette action, il ne me reste donc qu'à l'associer à un bouton dans mon widget. Essayons cela dans le simulateur.
Et comme ça, j'ai rempli l'eau de mon oiseau. Ça, c'est WidgetKit. Il devient facile de faire apparaître vos contenus à de nombreux endroits du système. Nous sommes ravis de toutes les utilisations possibles de l'interactivité et des transitions animées pour améliorer vos widgets. Désormais, les App Intents ne se limitent plus à l'interactivité des widgets. Ils améliorent les fonctionnalités de votre app sur le système, dans Spotlight, Shortcuts et Siri. Si vous intégrez votre intention à un raccourci d'app, elle apparaîtra à côté de l'icône dans les résultats Spotlight, avec une présentation plus riche et plus interactive. Il vous suffit de fournir quelques éléments. Dans votre raccourci, un titre court et une image ou un symbole. Dans l'Info.plist de l'app, une couleur d'arrière-plan complémentaire à celle de l'icône d'app. Vos raccourcis d'apps apparaîtront dans l'app Shortcuts mise à jour, où les utilisateurs pourront configurer leur exécution automatique, les ajouter à leur écran d'accueil ou les utiliser pour créer leurs raccourcis. Siri s'est aussi amélioré. Les utilisatrices ont plus de souplesse en matière de langage naturel pour invoquer un raccourci Avec WidgetKit et App Intents, les utilisateurs accèdent aux fonctions de votre app d'une nouvelle façon. Parlons ensuite de la découverte de fonctionnalités dans votre app. Chaque année, nous, développeurs, créons des fonctionnalités en pensant que les utilisatrices les adoreront, mais parfois les utilisateurs qui en bénéficieraient le plus ne connaissent pas leur existence ! Un nouveau framework, TipKit, aide à résoudre cela en informant intelligemment les utilisatrices sur les bonnes fonctionnalités au bon moment. TipKit inclut des modèles correspondant à ce que les utilisateurs voient dans les apps système, qui sont facilement personnalisables pour s'adapter à l'aspect et à la convivialité de l'app. La force de TipKit, c'est sa nature clé en main. Il suffit de personnaliser un modèle et d'ajouter un ciblage pour éduquer les utilisatrices sur les fonctionnalités liées à leur contexte actuel. On peut aussi gérer la fréquence globale pour ne pas montrer de conseil déjà vu par les utilisateurs, même sur un autre appareil. Nous avons une nouvelle façon amusante d'aider au partage de contenu depuis votre app avec AirDrop. Sur iOS 17, vos utilisatrices peuvent sauter la feuille de partage et envoyer rapidement du contenu à un autre appareil à proximité. Vous pouvez utiliser ShareLink dans SwiftUI, ou adopter activityItemsConfiguration sur le contrôleur de vue UIKit de votre app. Les ViewControllers fournis par le système, comme ShareSheet et QuickLook, fonctionnent déjà par défaut. WidgetKit, App Intents, TipKit et AirDrop vous aideront à créer des expériences mettant le contenu de votre app à disposition des utilisateurs au bon endroit et au bon moment. Nous avons hâte de voir comment vous les utiliserez pour faire évoluer vos apps. Revenons maintenant à Darin. Nos plateformes permettent d'accéder aux capacités matérielles uniques de nos produits dès le départ. Que vous utilisiez un moteur neuronal pour traiter une photo ou un accéléromètre pour mesurer les mouvements du sommeil, nos API vous permettent d'exploiter facilement la puissance des technologies matérielles. Regardons les améliorations de cette année aux jeux, aux appareils photo, aux écrans et à l'Apple Watch. Voici Brandon pour nous en parler. Les performances fulgurantes, l'autonomie de batterie et les graphismes incroyables des Mac Apple Silicon en font la plateforme idéale pour l'exécution de jeux haut de gamme. Désormais, le mode Jeu de macOS Sonoma rend les jeux sur Mac encore meilleurs. Les Mac étant plus populaires que jamais, le moment est idéal pour proposer vos jeux à des millions de nouveaux joueurs. Si vous êtes une développeuse de jeux pour Windows ou les consoles de jeu, il est désormais plus facile que jamais de porter vos jeux sur Mac en utilisant le nouveau Game Porting Toolkit, qui accélère nettement votre développement en trois étapes simples. D'abord, vous pouvez évaluer si votre jeu Windows pourrait fonctionner sur Mac grâce à l'environnement d'émulation fourni. Vous pouvez ainsi analyser les performances potentielles du jeu, ce qui vous évite des mois de travail en amont. Dans la deuxième étape, vous convertirez et compilerez vos shaders. Le Game Porting Toolkit comprend un nouveau Metal Shader Converter, utilisable pour convertir automatiquement tous vos shaders HLSL GPU existants en Metal, y compris tous les pipelines d'ombrage avancés de votre jeu, tels que les étapes de géométrie, de tessellation, de maillage et de traçage de rayons. Vous pouvez utiliser cet outil en construisant votre jeu dans Xcode, ou dans une chaîne d'outils personnalisée basée sur Windows pour la compilation des shaders. Puis vient la troisième étape : la conversion du code graphique et l'optimisation du jeu. Metal fournit toutes les fonctions graphiques et de calcul avancées des jeux modernes haut de gamme, ce qui rend la conversion de votre code graphique incroyablement simple. De plus, les puissants outils de performance graphique et de débogage intégrés à Xcode vous donnent tous les conseils nécessaires pour optimiser votre jeu. Nous avons hâte de vous voir utiliser ces outils pour tirer parti des performances incroyables d'Apple Silicon et des puissantes technologies graphiques, d'affichage, audio, d'entrée et de jeu, afin de porter vos jeux sur Mac beaucoup plus rapidement que jamais. À propos de rapidité, nous avons aussi des nouvelles concernant Camera. Apple continue de faire progresser la photographie mobile et d'étendre les API pour réaliser des choses incroyables avec l'appareil photo le plus populaire. AVCapture est utilisé par plus d'un tiers des apps iOS dans toutes les catégories : de la créativité à la productivité et aux médias sociaux, et même la santé, et ses performances ont été grandement améliorées. Avec Zero Shutter Lag, vous capturez le moment exact où l'on appuie sur l'obturateur. Avec des captures qui se chevauchent, la caméra ajuste dynamiquement la qualité de l'image quand l'obturateur est pressé rapidement. Grâce au traitement différé, les images de haute qualité, y compris Deep Fusion, peuvent être traitées en arrière-plan. Grâce à ces améliorations, le temps de prise de vue sera jusqu'à trois fois plus rapide entre les pressions sur l'obturateur dans votre app iOS ou iPadOS, même lors de la capture d'images de haute qualité. Plus tard cette année, vous pourrez aussi utiliser les touches haut, bas et volume pour déclencher l'obturateur de l'appareil photo. Et il y a du nouveau pour l'affichage de photos dans vos apps. Ces dernières années, les écrans compatibles HDR se sont largement répandus, notamment sur les iPhone, iPad et Mac. La photo HDR tire parti de la capture d'une plage dynamique supplémentaire pour afficher hautes lumières et ombres sombres avec plus de fidélité et de réalisme que jamais, comme si vous viviez la scène dans la réalité. Apple a été le premier à faire entrer la photographie HDR dans les mœurs, avec des billions de photos HDR capturées sur l'iPhone 12 et les versions ultérieures. Pour ce faire, l'app Camera analyse intelligemment la scène et enregistre plus de données d'ombres et de lumières au moment de la prise de vue. S'il existe des normes sectorielles pour la vidéo HDR, il n'en existe pas pour le stockage et l'affichage des photos HDR, ce qui les rend difficiles à utiliser. Mais tout cela est en train de changer cette année. Apple a impulsé un effort du secteur qui a abouti à une spécification pour le codage et l'affichage des photos HDR, récemment ratifiée par l'Organisation internationale de normalisation. Elle est désormais disponible sous forme d'API dans iOS, iPadOS et macOS, vous permettant d'afficher des photos compatibles dans vos apps avec seulement quelques lignes de code. C'est positif pour toutes les apps affichant des images, pas seulement pour les photos. Les apps de contenu génératif peuvent l'utiliser pour faire ressortir les images grâce à une plage dynamique supplémentaire. Désormais, un flux de travail HDR complet sera possible : de la capture à l'édition et au partage, et chacun pourra profiter de toute la splendeur du HDR, comme le photographe l'a vécu. Parlons maintenant de la vidéo. Nous passons tous beaucoup de temps avec nos caméras allumées ces jours-ci, que ce soit pour des conférences vidéo ou des apps créatives. Nous investissons dans l'éclairage et les effets vidéo, comme ces nouvelles réactions, gestes et effets de superposition du présentateur. Ils sont intégrés au flux de caméra, et fonctionnent donc dans votre app. L'app peut voir quand ces effets sont invoqués et effectuer d'autres actions, comme promouvoir la tuile de l'utilisateur pour que chacun voie qu'il a réagi. Pour les conférences vidéo, ScreenCaptureKit améliore le partage d'écran et les fonctionnalités de la caméra. Le nouveau sélecteur de ScreenCaptureKit permet un lancement plus aisé du partage d'écran de manière plus privée et plus sécurisée. Le sélecteur permet aussi à votre app de capturer plusieurs fenêtres ou même plusieurs apps à la fois. Vos utilisatrices peuvent partager depuis l'app où elles sont et apprécieront de voir un aperçu de ce qui est partagé dans le nouveau menu Video Effects. ScreenCaptureKit permet aussi un contenu de plus haute résolution pour des partages d'écran plus jolis lors du partage d'une fenêtre. La prise en charge d'une caméra externe arrive sur l'iPad. Toute caméra USB devient connectable et utilisable dans votre app iPad. Et nous avons ajouté des fonctions caméra et microphone à une toute nouvelle plateforme : tvOS. Avec l'appareil photo Continuité sur tvOS, vous pouvez tirer parti de l'iPhone et même de l'iPad pour intégrer pour la première fois de la vidéo et de l'audio dans les apps tvOS. Et avec le salon comme scène, vos apps ont le potentiel de réaliser bien des choses étonnantes. Les apps de conférence peuvent utiliser Center Stage, pour des appels vidéo de groupe plus dynamiques sur le grand écran de la maison. Les jeux peuvent intégrer directement des flux caméra et audio. Les apps créatives peuvent diffuser ou enregistrer des vidéos en appliquant le mode Portrait et autres effets amusants. Si vous avez déjà une app sur Apple TV, vous pouvez rendre l'expérience plus connectée et sociale en exploitant des frameworks que vous connaissez sans doute déjà. Et pour ceux souhaitant profiter de l'appareil photo continuité mais n'ont pas encore développé pour tvOS, il est très facile de commencer avec SwiftUI. Laissez-moi vous montrer comment cela fonctionne. Voici mon app iPad d'exemple, PartyCam, qui prend des selfies avec des filtres amusants. Tout d'abord, ajoutons Apple TV comme destination.
Ensuite, il faut ajouter le sélecteur pour que l'utilisatrice sache quel téléphone choisir. Ajoutons le code pour présenter le sélecteur, et lançons. Et maintenant, je prends la télécommande et je prends une photo. Hé, voilà Susan et Serenity !
Génial ! Nous avons hâte de vous voir rendre votre salon encore plus divertissant. Maintenant, place à Lori pour découvrir les nouveautés de watchOS. Premier de nos appareils portables, l'Apple Watch a ouvert des portes aux développeurs pour rendre notifications opportunes, informations de santé et de forme et apps pratiques accessibles au poignet. Cette année, le design de watchOS 10 est fortement rafraîchi pour profiter des écrans plus grands et plus lumineux et du meilleur matériel connecté des modèles d'Apple Watch modernes. SwiftUI est au cœur de cette refonte. Nous l'avons utilisé dans tout le système pour mettre à jour quasiment chaque app afin qu'elle soit plus dynamique, plus colorée et plus rapidement lisible. Voici quelques exemples. L'accent sur la pagination est renouvelé dans watchOS 10, et les Vertical TabViews permettent de varier la taille des pages. La crown est mieux utilisée pour le défilement des apps, sans sacrifier l'espace pour tout votre précieux contenu. Le nouveau modificateur containerBackground utilise la couleur, avec des remplissages en dégradé pour la lisibilité, pour aider les utilisateurs à comprendre où ils sont dans votre app ou pour rendre les données plus lisibles. Pour les apps qui remplissent l'écran, les ToolbarItem utilisent mieux les coins et permettent un déplacement automatique vers le centre si nécessaire. Pour les mises en page associant liste de sources/vue détaillée, NavigationSplitView est plus décisif que jamais sur l'Apple Watch en utilisant le même code que sur d'autres plateformes. Et le pivot vers et depuis la vue détaillée sur l'Apple Watch utilise même la nouvelle animation interactive à ressort de SwiftUI. Cette animation est composée de 12 pistes distinctes pour un plan d'animation qui anime la taille et la position des vues, en fonction de la vitesse du doigt de l'utilisatrice. Tous les principaux composants de l'UI ont été mis à jour avec des traitements matériels pour être lisibles sur tous les fonds, et leur taille s'adapte automatiquement au matériel. Si vous avez déjà adopté SwiftUI dans votre app, ces mises à jour se feront automatiquement en construisant avec le SDK de watchOS 10. Je vous explique cela avec l'app Backyard Birds que j'ai conçue à l'origine pour watchOS 9. C'est une app liste/détail construite à l'aide d'une NavigationStack, et même sans changement de code, recompilée avec watchOS 10, elle fonctionne déjà bien. Les vues s'adaptent automatiquement à la nouvelle hauteur de la barre de navigation, et le grand titre rétrécit et s'anime pour se placer sous l'heure quand je fais défiler. Faisons des modifications pour que l'app se sente encore plus à l'aise sur watchOS 10. J'aimerais voir l'état actuel de mon jardin primaire quand je lance l'app, plutôt que d'avoir toujours à le choisir dans la liste. NavigationSplitView est conçu spécifiquement pour les apps ayant une forte relation liste source/détail, je vais donc remplacer ma NavigationStack par une NavigationSplitView. Je supprime le titre de navigation de la liste des sources, puisqu'il n'est plus le point d'entrée de l'app, et j'indique la vue détaillée qui doit s'ouvrir par défaut. La liste des sources est cachée derrière la vue détaillée, et je me concentre sur les détails. Mais ma vue détaillée est assez longue. C'est une liste déroulante à trois sections claires, je divise le contenu en convertissant la liste en une TabView verticale avec une page séparée pour chaque section. Chacune de ces pages aura par défaut la hauteur de l'écran et, la dernière section contenant une boucle ForEach, chaque oiseau aura sa propre page. Je préfère une liste de tous les oiseaux sur un seul onglet qui défile s'il dépasse la hauteur de l'écran, donc je change ce ForEach en List, ce qui en fera une vue défilante. J'aimerais ajouter un peu de couleur pour différencier les onglets, donc j'ajoute un modificateur .containerBackground à chaque onglet. Pour savoir rapidement quand la nourriture ou l'eau manquent, je rends l'arrière-plan Sustenance dynamique. Il sera vert, jaune ou rouge en fonction des niveaux d'approvisionnement. Les changements dans les aperçus en direct montrent en quoi la couleur d'arrière-plan donne une impression de lieu dans l'app et permet de savoir plus aisément quand remplir de nourriture ou d'eau. Le dernier onglet fait défiler le contenu au-delà des limites de l'écran, et la liste des jardins reste accessible en touchant le bouton Liste des sources. Il a suffi de quelques modifications pour intégrer mon app à watchOS 10. SwiftUI nous a facilité la vie lors de nos efforts pour embellir les apps du système, et il facilitera aussi la mise à jour de vos apps pour ces nouveaux paradigmes de conception. Si vous n'êtes pas encore passé à SwiftUI dans votre app, c'est le moment. En plus de ces mises à jour d'apps basées sur SwiftUI, watchOS 10 dispose aussi d'un nouvel espace système où la pertinence des AppIntents aide vos widgets à monter dans la pile intelligente au bon moment. Et vous pouvez utiliser le même modificateur .containerBackground mentionné plus haut pour faire briller ces widgets avec de magnifiques arrière-plans personnalisés. Les créateurs d'apps d'entraînement peuvent aider les utilisateurs à profiter des capacités de suivi de forme physique de l'Apple Watch grâce à la nouvelle API Custom Workout, qui permet le partage de plans d'entraînement depuis votre app, et à une nouvelle API CoreMotion pour une capture plus fidèle des données de mouvement et d'accéléromètre afin d'améliorer l'analyse du swing pour des sports comme le golf et le tennis. Et sachant combien vous pouvez être créatifs, ces données sont disponibles pour tout type d'entraînement. Nous avons hâte de voir les expériences que vous créerez avec. Voilà un aperçu des grands changements qui attendent watchOS cette année. Revenons maintenant à Darin. Une plateforme, c'est aussi les gens qui l'utilisent et les valeurs qui y sont intégrées dès le départ. Ces valeurs sont essentielles pour nous, chez Apple, et nous savons qu'elles le sont aussi pour vous. Ensemble, nous pouvons rendre votre app adaptable aux besoins pour que chacun puisse l'utiliser et créer des apps qui respectent le besoin de chaque utilisatrice de se protéger et de protéger ses données. Commencer par ce que nos plateformes offrent peut vous faciliter cette tâche importante. Pour en savoir plus, voici Chris. Nous pensons que chacun doit pouvoir utiliser nos appareils pour faire ce qu'il aime. C'est pourquoi l'accessibilité de nos produits est une valeur fondamentale d'Apple. Selon l'OMS, plus d'un milliard de personnes dans le monde ont un handicap. Créer une technologie accessible, c'est donner à plus de personnes les meilleurs outils pour créer, apprendre, rester connecté et vivre selon leurs conditions. Les produits Apple ont donc des fonctions d'accessibilité prêtes à l'emploi pour les utilisateurs aveugles ou malvoyants, sourds ou malentendants, muets ou risquant de perdre la parole, ayant un handicap physique ou moteur, ou encore un handicap cognitif. Nos frameworks offrent une prise en charge de ces fonctions d'accessibilité, ainsi que des outils et des API pour vous aider à rendre vos apps accessibles à tous. Souvent, l'accessibilité se résume à de petites mesures à fort impact. Ainsi, l'an dernier, nous avons ajouté la possibilité de détecter et de décrire les portes dans l'app Magnifier, aidant ainsi les gens à naviguer en autonomie dans leur environnement. Cette année, nous étendons notre soutien aux utilisatrices sensibles aux animations et aux lumières clignotantes. Ces personnes font souvent face à un choix difficile : éviter les contenus potentiellement dangereux, comme les films débutant par un avertissement, ou les regarder sans être assez informés, s'exposant à des risques pour leur santé, comme des crises d'épilepsie. Nos frameworks incluent désormais des API pour deux fonctionnalités qui peuvent rendre le contenu de vos apps plus accessible à ces utilisateurs. La première est Pause Animated Images, qui permet d'arrêter le mouvement des GIF animés dans Safari, Messages, etc. Vous pouvez facilement l'ajouter à votre app. Supposons que vous animiez une séquence d'images avec TimelineView dans SwiftUI. Vous pouvez utiliser une nouvelle propriété d'environnement pour savoir si l'utilisatrice préfère mettre en pause les images animées et, si c'est le cas, remplacer les images animées par une image statique pour respecter son choix. La deuxième fonctionnalité est Dim Flashing Lights, qui assombrit automatiquement l'affichage de la vidéo lors de séquences de lumières vives et clignotantes.
Une nouvelle phase du pipeline de rendu vidéo d'AVFoundation permet d'identifier et d'atténuer les clignotements. Si vous utilisez AVFoundation pour lire des médias dans votre app, intégrer cette fonction ne demande aucun travail. Mais si votre app utilise un lecteur multimédia personnalisé, utiliser une nouvelle API permet d'identifier une vidéo à lumières clignotantes et de l'assombrir automatiquement. Nous avons même rendu l'algorithme open source pour permettre de comprendre la science sous-jacente. Notre engagement à intégrer l'accessibilité à chaque produit et framework s'étend à notre toute nouvelle plateforme : visionOS. Parce que nous pensons que la meilleure technologie doit s'adapter aux besoins de chacun, visionOS est doté de dizaines de fonctions d'accessibilité intégrées dès le départ. Et vous, en tant que développeuse, jouerez un rôle essentiel en rendant vos apps visionOS accessibles à tous, à l'aide des mêmes outils et API que ceux que vous utilisez aujourd'hui sur iPadOS et iOS. Nous sommes ravis d'œuvrer avec vous pour rendre le calcul spatial accessible à plus d'utilisateurs, et vous en saurez plus sur l'accessibilité avec Vision Pro d'ici peu. Maintenant, Katie va nous parler de la protection de la vie privée. Chez Apple, nous considérons la protection de la vie privée comme un droit essentiel. Nos utilisatrices nous disent à quel point elles y sont attachées, et nous vous aidons à incorporer une excellente protection de la vie privée à vos fonctionnalités. Au fil des ans, nous avons créé de nombreux moyens d'intégrer la protection de la vie privée à vos apps. Cette année, nous vous aidons encore plus à offrir à vos utilisateurs une expérience de protection de la vie privée solide dans certains domaines, comme en améliorant la protection de la vie privée. Commençons par les autorisations de Calendrier. Souvent, vos apps n'ont pas besoin d'un accès en lecture au Calendrier : il leur faut juste écrire de nouveaux événements. Pour ces cas, nous avons créé une nouvelle autorisation supplémentaire. Vous pourrez ainsi obtenir l'accès dont vous avez besoin, et l'utilisatrice recevra une invitation qui lui sera utile. Dans Photos, nous avons proposé aux utilisateurs deux options pour fournir des photos à votre app : ils peuvent sélectionner les photos à partager ou donner accès à l'ensemble de leur bibliothèque. Nous avons voulu faciliter encore davantage la sélection des photos à partager avec votre app, afin que vous obteniez ce qu'il vous faut et que les utilisatrices ne partagent que ce qu'elles veulent. Nous ajoutons donc un nouveau sélecteur de photos intégrable à votre app, afin que les utilisateurs puissent facilement sélectionner des photos à partager depuis votre expérience. Ensuite, la confidentialité des apps. Il faut aider les utilisatrices à comprendre comment vous protégez leurs données, nous avons donc créé des fonctionnalités pour vous y aider. Par exemple, Privacy Nutrition Labels aide les utilisateurs à comprendre quelles données vous collectez et comment vous les utilisez. Vous êtes nombreux à inclure à vos apps des SDK tiers qui peuvent offrir d'excellentes fonctionnalités. Mais leur intégration peut compliquer la création d'étiquettes correctes, car vous risquez de ne pas comprendre leur traitement des données utilisateur. Et ils peuvent poser des problèmes de sécurité à votre chaîne d'approvisionnement logicielle. Cette année, nous introduisons donc deux mises à jour. Tout d'abord, pour vous aider à comprendre comment les SDK tiers utilisent les données, nous avons créé les manifestes de confidentialité. Ces fichiers décrivent les pratiques de confidentialité du code tiers dans votre app, dans un format standard. Quand vous vous préparez à distribuer votre app, Xcode combine tous les manifestes de tous les SDK tiers que vous utilisez dans un rapport unique et convivial. Avec un seul rapport récapitulatif pour tous vos SDK tiers, créer des étiquettes précises dans App Store Connect est plus facile que jamais. Nous voulons aussi vous aider à améliorer l'intégrité de votre chaîne d'approvisionnement logicielle. Si vous utilisez des SDK tiers, il peut être difficile de savoir si le code téléchargé a été écrit par le développeur que vous attendez. Pour y remédier, nous introduisons des signatures pour les SDK tiers. Désormais, quand vous adoptez une nouvelle version d'un SDK tiers dans votre app, Xcode validera qu'elle a été signée par le même équipe de développement, pour vous offrir plus de tranquillité d'esprit. Avec les manifestes de confidentialité et les signatures pour les SDK tiers, vous pouvez protéger encore plus facilement les utilisatrices et les aider à comprendre comment leurs données seront utilisées. Et enfin, Communication Safety, qui utilise une technologie de préservation de la vie privée pour protéger les enfants sur nos plateformes. Nos plateformes et les apps que vous créez jouent un rôle important dans la vie de nombreuses familles à travers le monde, notamment dans leur façon de communiquer. Dans iOS 15, nous avons introduit la fonctionnalité Communication Safety dans Messages afin de mieux protéger les enfants avec des appareils Apple. Vous êtes nombreux à créer des apps permettant le partage de contenu et à vouloir protéger les enfants en situation de vulnérabilité. La formation et la mise en œuvre d'un modèle de classification des contenus dangereux peuvent constituer un problème difficile à résoudre et un travail considérable. Nous intégrons donc Communication Safety à l'ensemble de la plateforme avec le framework Sensitive Content Analysis. Avec quelques lignes de code, le framework vous aide à détecter les images et les vidéos contenant de la nudité, et cela se passe entièrement sur l'appareil. Vous pouvez ainsi créer des expériences positives dans votre app pour les enfants qui ont Communication Safety activé. Le framework Sensitive Content Analysis utilise la même technologie que celle qui sous-tend Communication Safety. Le framework protège la vie privée des utilisateurs en traitant les images et les vidéos entièrement sur l'appareil. En outre, nous avons voulu donner à chacun la possibilité de brouiller les contenus sensibles grâce à Sensitive Content Warning. Le framework d'analyse des contenus sensibles vous indiquera si un utilisateur a activé Communication Safety ou Sensitive Content Warning, pour vous permettre d'adapter l'expérience de vos apps en fonction de la fonctionnalité activée. Ces nouvelles fonctions permettent d'offrir confidentialité et tranquillité d'esprit à vos utilisatrices. Chris va maintenant nous présenter les nouveautés de l'App Store. Il existe un lieu de confiance pour découvrir des apps qui répondent à nos normes élevées de sécurité, de confidentialité et de performance, et ce lieu est l'App Store. Il vous permet d'étendre la distribution de vos apps dans le monde entier à l'aide de divers modèles commerciaux, comme l'achat in-app. StoreKit est fondamental pour un achat in-app sûr et fiable. Nous fournissons un modèle de données robuste pour connecter vos produits à l'UI de votre app. Si vous proposez l'achat in-app, vous savez l'importance de présenter les détails clés, comme le prix et la durée de l'abonnement, pour permettre un achat éclairé. Et nous savons que bien des développeurs ont du mal à y parvenir. Cette année, nous faisons avancer StoreKit avec une nouvelle collection de vues pour alimenter l'UI de merchandising de votre app sur toutes les plateformes, grâce aux meilleures pratiques des Human Interface Guidelines. En utilisant la syntaxe déclarative de SwiftUI, vous créez votre expérience de merchandising et StoreKit s'occupe du reste. Voyons quelques exemples. Le ProductView vous permet d'afficher vos produits à l'aide des données que vous avez définies dans App Store Connect. Il est aisément personnalisable selon l'aspect et la convivialité de votre app. Le SubscriptionStoreView est une vue spécialement conçue pour les abonnements. Avec une seule ligne de code, la description, le prix et la durée de chaque niveau de service sont clairement présentés à l'utilisateur. Ces vues ne sont pas réservées à l'iPhone. Le code crée une vue reflétant l'expérience de la plateforme sur tous les appareils Apple. Elle s'adapte même à l'écran compact de l'Apple Watch. Et bien sûr, elles tiennent compte de l'accessibilité et de la localisation pour toutes les utilisatrices. L'intégration de la SubscriptionStoreView dans mon app est super facile. Travaillons sur l'offre d'abonnement Backyard Birds Pass. Dans Xcode, j'ajoute des déclarations à mon SubscriptionStoreView selon l'aspect et la convivialité de Backyard Birds. Je personnalise le contenu marketing avec une vue, j'ajoute un arrière-plan de conteneur et je modifie le style des options d'abonnement.
Tout cela a fière allure et correspond à l'image de marque de l'app. Jetons également un coup d'œil au simulateur qui m'offre la même expérience complète que celle de mes utilisateurs. Ici, je peux sélectionner une offre, cliquer sur S'abonner et terminer l'achat. C'est tout ce qu'il faut pour créer une expérience d'achat personnalisée afin de montrer aux utilisatrices les informations nécessaires à une décision éclairée. Nous savons aussi qu'il peut être difficile de personnaliser vos offres selon l'historique d'achat de l'utilisateur ou son statut d'abonné. C'est pourquoi SubscriptionStoreView détermine automatiquement l'éligibilité de l'utilisatrice et affiche l'offre adéquate. Les nouvelles vues StoreKit sont le meilleur moyen de commercialiser vos achats in-app. Un autre aspect important de votre croissance consiste à comprendre comment la publicité aide les utilisateurs à découvrir votre app. C'est pourquoi SKAdNetwork aide les réseaux publicitaires à déterminer dans quelle mesure les campagnes incitent à télécharger votre app, tout en préservant la vie privée des utilisatrices. En plus de mesurer les téléchargements, il faut comprendre comment la publicité peut faire revenir les utilisateurs vers votre app. SKAdNetwork 5 prendra en charge la mesure du réengagement. En plus de mesurer les conversions après téléchargement de votre app, vous pourrez aussi mesurer les conversions après ouverture de l'app par l'utilisatrice en tapant sur une annonce. La version 5 sera disponible dans une version iOS à venir dans le courant de l'année. Nos nouvelles fonctionnalités pour l'achat in-app et SKAdNetwork vous aideront à croître de manière responsable et en respectant la vie privée des utilisateurs, leur offrant ainsi transparence et tranquillité d'esprit. Revenons à Darin. Tout comme notre langage de programmation et nos frameworks, nos outils sont conçus les uns pour les autres. Xcode rassemble tout le nécessaire pour développer, tester et distribuer des apps sur toutes nos plateformes. TestFlight et Xcode Cloud rendent l'expérience transparente, de la première ligne de code au premier téléchargement sur l'App Store. Ken va maintenant nous présenter les derniers développements. Pour toutes les plateformes Apple, un outil est au centre de votre expérience de développeuse, vous aidant à créer toutes vos superbes apps : Xcode. Il réunit de puissantes fonctions, comme un éditeur qui associe création de code et conception d'UI à des aperçus interactifs et des animations en direct, ainsi qu'un contrôle de source intégré pour créer, réviser et partager des modifications avec votre équipe. Les outils de débogage, de profilage et de test pour vous aider à évaluer et à affiner votre app sont tous connectés dans Xcode Cloud, service d'intégration et de livraison continues qui simplifie la distribution vers TestFlight et l'App Store. Xcode 15 comporte des mises à jour importantes. Commençons là où vous passez le plus de temps : l'éditeur de code source. La complétion de code vous aide à obtenir le code que vous voulez plus rapidement et avec moins d'erreurs. Avec Xcode 15, vous commencerez par les complétions les plus pertinentes, l'éditeur utilisant le code environnant pour établir des priorités. Qu'il s'agisse du modificateur le plus adéquat pour une vue spécifique que vous utilisez ou quand vous enchaînez des modificateurs en personnalisant une vue. Et Xcode génère automatiquement des symboles pour les ressources de votre catalogue d'actifs. Ils apparaissent donc dans la complétion de code et sont faciles à utiliser dans votre code. Cela vous donne sécurité et tranquillité d'esprit quant à la disponibilité de vos ressources à l'exécution. Les vues SwiftUI sont un endroit idéal pour utiliser ces ressources. Les aperçus de Xcode sont un moyen transparent d'itérer sur votre UI, avec retour d'information quasi instantané, car vous concevez parallèlement au code de votre app. Dans Xcode 15, les aperçus sont plus faciles à utiliser et disponibles dans un plus grand nombre d'endroits. Cela commence par une nouvelle syntaxe, construite à l'aide des macros Swift, qui est simple à écrire et facile à retenir. Travailler sur divers appareils et plateformes est désormais plus facile. Vous pouvez les choisir dans le canevas pour vous assurer que vos vues sont parfaites partout. Et vous pouvez désormais utiliser les aperçus dans tous les frameworks d'UI ! Que vous utilisiez SwiftUI, UIKIt ou AppKit, vous pouvez itérer sur votre UI une expérience cohérente à partir de n'importe quel endroit de votre code. Pour suivre le rythme des créations et modifications rapides des aperçus, Xcode rationalise votre façon de réviser et valider ces modifications. Vous êtes beaucoup à utiliser la zone d'indexe dans vos procédures, elle est désormais intégrée directement sur Xcode ! Vous pouvez indexer et désindexer les changements en un clic, pour créer votre prochain commit sans sortir de votre code. Du navigateur de contrôle des sources, vous pouvez voir vos changements sur une seule vue, vous aidant à finaliser votre commit. Et Xcode affiche aussi les commits non poussés, pour que vous puissiez rassembler vos commits sur une demande de tirage. Parlons maintenant des tests. C'est une partie essentielle à la création d'une app de qualité. Lorsque votre code grandit sur plusieurs plateformes, appareils, langues, et fonctionnalités utilisateur, gérer vos résultats de tests, et savoir où se concentrer, peut être difficile. La présentation des rapports de tests sur Xcode 15 a été repensée, vous donnant de nouveaux outils pour mieux comprendre vos résultats et agir dessus. Cela commence avec un magnifique aperçu résultats. Je peux y voir les tendances principales, y compris les comme les mêmes assertions. J'ai accès à un résumé du déroulement de mes tests sur différentes configurations, comme appareils et langues, et cela me permet de voir des tendances. Et il y a une carte thermique pour me montrer rapidement où me concentrer. Je travaille sur une fonctionnalité dans l'app Backyard Birds. Et en regardant mon dernier test, je vois que j'ai quelques problèmes. Je commence en cliquant sur cet aperçu. Il semble qu'un geste de toucher échoue dans mon nouveau test. Je clique sur le test qui a échoué, et j'obtiens une vue détaillée des activités de tests ici sur la gauche, ainsi qu'un relevé complet de l'UI de l'app sur la droite. Je peux sélectionner une activité en particulier. Ou je peux utiliser la frise chronologique pour revenir à n'importe quel moment. J'y vois des repères de points pertinents, comme lorsque le test a fait défiler cette vue ici, ou ici où il a touché le champ de recherche. Et voici un enregistrement vidéo complet qui me donne beaucoup plus de détails, et me montre exactement ce qu'il s'est passé avant que le test échoue. Je le lis pour voir ce qu'il s'est passé.
Ici, le test sélectionne des aliments pour nourrir l'oiseau. L'oiseau se met à voler, et disparaît avant que mon action ne soit complète, ce qui a fait échouer mon test. Ces nouveaux détails de test, avec la frise et l'enregistrement vidéo rend la révision des tests pour les animations, les gestes, et d'autres expériences d'interface utilisateur beaucoup plus rapide. Et lorsqu'il me faut plus que la vidéo, je peux également voir les trames d'accessibilité, pour avoir encore plus de détails. Cette nouvelle expérience des rapports vous offre des informations approfondies, plus de détails et plus d'interaction pour tirer le meilleur parti de vos tests. Et cela fonctionne harmonieusement sur Xcode et Xcode Cloud. Xcode Cloud est un service d'intégration et de livraison en continu qui vous permet de construire, tester, et partager vos apps sur toutes les plateformes Apple. Il est profondément intégré à Xcode, ce qui vous permet de gagner du temps en restant concentré au même endroit. Il exploite l'infrastructure de cloud Apple pour décharger vos conceptions, vos tests et la signature code pour la distribution. Il se connecte aux services Apple comme TestFlight et App Store Connect. De plus, il est doté d'une sécurité avancée pour vous protéger, vous et vos projets. L'année dernière, nous avons rendu Xcode Cloud disponible à chaque membre de l'Apple Developer Program. Des dizaines de milliers d'équipes ont intégré leurs projets directement à partir de Xcode et les retours ont été excellents ! Et nous continuons de rendre Xcode Cloud encore meilleur. La performance est notre priorité. L'année dernière, nous avons effectué d'importants changements pour que vous puissiez faire encore plus avec votre temps d'exécution. Nous avons également ajouté vos demandes les plus importantes. Lors de la distribution sur TestFlight, vous pouvez désormais créer et partager des notes aux testeurs, pour permettre à tous vos utilisateurs et utilisatrices de suivre vos dernières améliorations. Xcode Cloud prend également en charge la notarisation macOS lors de la distribution avec DeveloperID, pour vérifier la présence de composants malveillants dans votre app avant de la partager aux utilisateurs et utilisatrices. Avec une configuration de vos flux de travail en quelques minutes, vous pouvez utiliser des heures d'exécution pour construire, tester, et déployer vos apps. Nous sommes enthousiasmés par le futur de Xcode Cloud, et nous continuons de le rendre plus rapide, sécurisé et flexible. L'année passée, nous avons optimisé le compiler pour l'architecture multi-cœurs des puces Apple afin de rendre vos projects plus rapides et plus évolutifs. L'éditeur de lien a été repensé de zéro, permettant d'énormes améliorations du temps de liaison. C'est désormais près de cinq fois plus rapide ! Le nouvel éditeur de lien réduit également la taille des binaires de débogage jusqu'à 30 %. Et pour les apps qui intègrent de nombreux frameworks il y a un nouveau type qui permet des builds plus rapides lors du développement, des tailles d'app réduites et un temps de lancement plus rapide pour la production. Enfin, nous continuons de rendre Xcode plus rapide et plus facile à débuter. Sur le nouveau Mac Book Store, Xcode est désormais 50 % plus petit, et tous les simulateurs sont disponibles sur demande. Il est donc rapide de commencer et d'installer les plateformes qu'il vous faut, au bon moment. Et maintenant, de retour à Darin. Notre approche de création d'une langue, de frameworks, d'outils, et de services qui fonctionnent ensemble prend vie lorsque nous introduisons une nouvelle plateforme. L'utilisation de bases communes permet de rendre la plateforme familière tout en mettant en valeur ses points forts individuels. visionOS prend avantage du travail effectué au cours des années sur nos plateformes et démontre les points forts de cette approche. Voici Mike, pour vous en parler.
Mike Rockwell: Le lancement d'Apple Vision Pro marque le début de notre chemin ensemble dans l'informatique spatiale. Vous pouvez désormais aller plus loin que ce que vous pensiez être possible et réimaginer ce que signifie d'être en contact, productifs, et divertis. Vision Pro est doté de nombreuses technologies révolutionnaires. Vos apps utiliseront de nouveaux éléments pour interagir avec l'espace de l'utilisatrice et se fondre dans sa pièce. C'est possible grâce à de puissantes technologies que vous connaissez déjà : SwiftUI, RealityKit, et ARKit- désormais compatibles avec visionOS. Avec cette base solide et un ensemble actualisé d'outils de développement, vous serez à l'aise de créer un tout nouvel univers d'apps pour Apple Vision Pro. Aujourd'hui, nous allons couvrir ce qu'il vous faut pour démarrer avec visionOS, des éléments fondamentaux aux frameworks, outils, et technologies essentielles. Vous découvrirez les activités et les programmes que nous lançons pour vous aider à donner vie à vos apps sur Vision Pro ; des apps qui prennent parti de la toile infinie de Vision Pro, ou qui transforment une pièce en un environnement médiatique immersif. Alors, retroussons nos manches. Vision Pro vous permet de repenser ce qui est possible pour l'expérience de votre app. Peu importe le type d'app que vous construisez, il faudra comprendre ce qu'elle donnera en 3D, dans l'espace de vos utilisateurs. Cela éclairera les décisions que vous prendrez en tant que développeuse. Cette compréhension vous aidera à prendre avantage des capacités de Vision Pro, donnant précision et immersion à vos apps d'une manière qui, jusqu'ici, n'était pas possible. Par défaut, les apps se lancent dans le Shared Space. Le Shared Space est l'endroit où les apps coexistent, telles que les apps sur un Mac. L'utilisatrice a la possibilité de positionner les apps selon ses envies. Parlons des éléments que vous pouvez utiliser à l'intérieur d'un espace, à commencer par la fenêtre familière. Sur visionOS, votre app peut ouvrir une ou plusieurs fenêtres, qui sont des scènes SwiftUI et se comportent comme vous vous y attendez, comme des plans dans l'espace. Elles peuvent contenir des vues et des contrôles traditionnels, et prennent même en charge les objets en 3D et les RealityViews, permettant au contenu 3D de côtoyer le contenu 2D. De plus, votre app peut créer des volumes tridimensionnels, qui sont aussi des scènes SwiftUI, et présenter des objets en 3D, comme un plateau de jeu ou un globe terrestre. Les volumes peuvent être déplacés dans cet espace, et vus de tous les angles. Dans certains cas, vous souhaitez plus de contrôle sur le niveau d'immersion dans votre app pour que l'utilisatrice puisse regarder une vidéo, jouer à un jeu ou répéter une présentation, Vous pouvez le faire en ouvrant un Full Space dédié, dans lequel seules vos apps, fenêtres, volumes et objets 3D apparaissent dans la vue de l'utilisateur. Voici donc les éléments de base de l'informatique spatiale : les fenêtres, les volumes et les espaces. C'est un ensemble d'outils flexibles pour créer des apps qui peuvent couvrir le spectre de l'immersion. Pour vous en dire plus sur comment commencer à construire des apps, voici Geoff. Geoff Stahl : Vision Pro prend en charge plusieurs types d'apps. Les apps iPad et iPhone existantes sont prises en charge, chacune sous la forme d'une fenêtre 2D modulable avec leur aspect et leur style d'origine. Mais ce n'est que le point de départ de ce qui est possible. En son cœur, visionOS est similaire à iPadOS et iOS, et comprend un grand nombre des mêmes frameworks fondamentaux. SwiftUI et UIKit sont utilisés pour construire votre interface utilisateur, RealityKit pour présenter des contenus, animations et effets visuels 3D, et ARKit pour comprendre l'espace autour de l'utilisatrice. Ils font tous partie du SDK visionOS. Que faut-il faire pour faire passer votre app sur Vision Pro ? D'abord, sur Xcode, ajoutez la destination visionOS à votre projet. Désormais, lorsque vous la recompilez, votre app aura automatiquement des améliorations plutôt sympas.
Matériaux avec le style visionOS, des fenêtres redimensionnables dont l'espacement est adapté à la saisie oculaire et manuelle, et l'accès à des ajustements pour vos commandes personnalisées. Vous pouvez ajouter du code spécifique à visionOS pour développer votre app en une collection de fenêtres, volumes ou espaces. De là, vous pouvez prendre avantage des capacités avancées de SwiftUI, RealityKit et ARKit. Voici Enrica pour vous en dire plus. Enrica Casucci: Sur visionOS, la plupart de nos frameworks ont été poussés pour prendre en charge l'informatique spatiale. Avec SwiftUI, vous pouvez désormais ajouter de la profondeur ou ajouter un objet en 3D dans une fenêtre. Sur iOS et MacOS, une ZStack est généralement utilisée pour superposer les vues. visionOS va plus loin, et vous pouvez les séparer en profondeur. Cela donne à vos applications bidimensionnelles une sensation tridimensionnelle. Vous pouvez ajouter de subtils changements de profondeur à vos éléments d'UI en utilisant le nouveau modificateur de vue z-offset. Une valeur de décalage plus élevée présente la vue devant celles ayant des valeurs plus faibles. Vous pouvez l'utiliser pour mettre l'accent ou pour indiquer un changement de modalité, par exemple lorsque vous affichez les détails d'une sélection. Et avec des modificateurs de vue en plus, vous pouvez mieux contrôler la largeur, la hauteur et la profondeur. Sur Vision Pro, même les gestes sont sensibles à l'espace supplémentaire. Nous avons tous l'habitude de faire glisser des objets sur l'écran. Désormais, les gens pourront déplacer ou faire pivoter des objets n'importe où dans leur espace physique. Vous pouvez également créer un volume avec SwiftUI. Il peut coexister avec les fenêtres de votre app, et, lorsqu'il est exécuté dans le Shared Space, se place côte à côte avec d'autres apps. Les fenêtres et les volumes de SwiftUI peuvent également se trouver à l'intérieur d'un Full Space, où vous pouvez placer des objets 3D et des éléments SwiftUI n'importe où dans la pièce de l'utilisatrice. SwiftUI permet non seulement d'intégrer rapidement et facilement vos apps à visionOS, mais aussi de créer des expériences complètement immersives. SwiftUI effectue désormais le rendu via RealityKit, ce qui permet de facilement combiner les API SwiftUI et RealityKit. Vous pouvez utiliser des améliorations de l'interface utilisateur, comme des décorations, matériaux, et effets de survol. Les ornements vous permettent d'apposer des composants de l'UI sur les bords de vos fenêtres et volumes. Ils sont parfaits pour les barres d'outils et les menus. Les effets de survol mettent en évidence les éléments de l'UI en fonction de là où l'utilisateur regarde. Alors que les contrôles du système obtiennent automatiquement ces effets, vous avez la possibilité de décider si votre contrôle personnalisé affiche une surbrillance ou une lueur. Et les matériaux s'adaptent au monde autour de l'utilisateur. Flous dynamiques et couleurs vives rendent votre app lisible, peu importe les conditions. Tout comme sur nos autres plateformes, nous vous recommandons d'utiliser SwiftUI pour construire vos apps visionOS. Vos apps existantes construites avec UIKit peuvent également être recompilées pour visionOS, et auront accès aux ornements, aux effets de survol, aux matériaux, et à l'aspect et à la sensation natifs. SwiftUI n'est que l'un des frameworks que vous utiliserez pour construire des expériences d'informatique spatiale sur visionOS. Edwin vous en présentera quelques autres qui vous aideront sur votre chemin. Lorsque vous êtes prêts à élargir vos apps avec des scènes complètes de modèles 3D dynamiques, animations et effets visuels, vous voudrez utiliser RealityKit. Le moteur de rendu 3D d'Apple construit de A à Z pour le rendu d'expériences spatiales. Nous avons introduit RealityKit et SwiftUI en 2019 en tant que frameworks indépendants. Sur Apple Vision Pro, ils sont profondément intégrés afin que vous puissiez créer des interfaces nettes, réactives, et volumétriques. Le contenu 3D peut se lier aux vues et aux états de SwiftUI, ce qui permet de coupler de manière fluide les éléments visuels 2D et 3D. RealityKit s'adapte automatiquement aux conditions d'éclairage physique et ancre l'expérience dans la réalité en projetant des ombres sur les sols et les tables. Votre app a ainsi l'air d'avoir sa place dans la pièce.
RealityKit offre également de nouvelles capacités, dont la possibilité de créer des portails dans des scènes en 3D comme le dinosaure dans la Keynote, un texte d'une netteté incroyable, pour que vous puissiez lire confortablement, un système de matériaux personnalisables pour créer des effets visuels étonnants. De plus, le rendu est encore plus efficace sur Apple Vision Pro grâce à une technique appelée fovéation dynamique. RealityKit s'appuie sur le suivi des yeux pour rendre de manière sélective les régions sur lesquelles l'utilisatrice se concentre, avec une très grande fidélité, réduisant ainsi le coût de rendu du contenu en périphérie, et permettant à vos apps de maximiser la puissance de traitement de l'appareil. RealityKit rend vos modèles 3D avec des résultats photoréalistes étonnants en vous permettant de spécifier ses propriétés physiques, telles que le degré de réflexion ou de métallisation. RealityKit rend le contenu virtuel de manière à ce que son éclairage soit connecté aux conditions d'éclairage de la pièce. Si vous voulez personnaliser ou étendre le réalisme en fonction de votre intention créative, vous pouvez fournir un actif d'éclairage basé sur l'image, pour en personnaliser l'aspect. Pour la création de vos matériaux, RealityKit a adopté MaterialX, une norme ouverte pour la spécification des shaders de surface et de géométrie utilisée par les principales sociétés de cinéma, d'effets visuels, de divertissement et de jeux. La prise en charge étendue de MaterialX par divers outils de création de premier plan facilite grandement l'écriture de shaders. MaterialX vous permet de concevoir et de modifier rapidement l'aspect de différents matériaux, en vous permettant de définir leurs propriétés d'ombrage. Il existe des référentiels de matériaux parmi lesquels choisir et des outils utiles comme Houdini et Maya qui peuvent être utilisés pour créer vos shaders personnalisés. RealityKit fournit une nouvelle vue SwiftUI appelée RealityView. RealityView s'utilise dans les fenêtres, les volumes et les espaces, vous laissant placer du contenu 3D où vous voulez dans les scènes que vous contrôlez. Les attachements sont aussi pris en charge, et vous permettent d'intégrer des vues SwiftUI 2D à votre contenu 3D. En plus de SwiftUI et RealityKit, un troisième framework puissant vous permet de prendre avantage des alentours de l'utilisateur : ARKit. ARKit comprend l'espace autour de l'utilisatrice, et permet aux contenus d'app d'interagir avec la pièce, que ce soit une balle qui rebondit au sol, ou de l'eau qui éclabousse le mur. ARKit héberge les algorithmes en temps réel sur visionOS qui alimentent nombre de capacités système essentielles. Ces algorithmes sont toujours en cours, ce qui signifie que vos apps bénéficient d'ARKit dans le Shared Space, peu importe comment elles sont construites. La persistance et la cartographie sont gérées sur système. Segmentation, matage, et éclairage de l'environnement sont automatiquement appliqués à l'ensemble de l'espace. Avec l'accord de l'utilisateur, les fonctionnalités ARKit peuvent être directement disponibles pour vos apps Full Space. Dans un Full Space, vos apps peuvent interagir de manière réaliste avec la pièce, en exploitant l'estimation de plan, Reconstruction de la scène, Ancrage d'image, et World Tracking d'ARKit, qui utilise les mêmes concepts d'ancrage que ARKit sur iOS. Cela facilite la migration de votre app ARKit existante vers visionOS. Et sur visionOS, vous aurez désormais accès au Skeletal Hand Tracking. Vous pouvez utiliser hand tracking pour créer des gestes personnalisés pour votre app ou même compléter les mains de l'utilisateur avec des informations numériques. ARKit permet de positionner et d'orienter les articulations dans le même modèle squelettique introduit sur iOS. Avec l'approche intégrée à travers SwiftUI, RealityKit et ARKit, utilisez l'apprentissage et les investissements que vous avez déjà consacrés aux plateformes Apple au fil des ans. Cela inclut les effort déployés pour rendre vos apps accessibles. C'est important car l'informatique spatiale ouvre de nouvelles possibilités en matière d'accessibilité. Sur Apple Vision Pro, les utilisateurs ayant des handicaps physiques et moteurs peuvent interagir avec leur appareil avec leurs yeux, leurs voix, ou une combinaison des deux. Les utilisatrices peuvent sélectionner avec leur index, poignet, ou leurs têtes comme pointeur alternatif pour naviguer dans Vision Pro. Vous rendrez vos apps accessibles sur visionOS avec les mêmes techniques que vous utilisez depuis des années sur d'autres plateformes. L'inspecteur d'accessibilité analyse et signale les problèmes d'accessibilité dans vos apps visionOS, et vous donne des suggestions pour les rendre plus accessibles. La prise en charge de l'accessibilité est intégrée dans nos frameworks, il est facile de déployer vos apps et expériences visionOS aux utilisatrices ayant un handicap. Vous pouvez utiliser VoiceOver pour décrire des objets dans vos apps pour les utilisateurs aveugles ou malvoyants en ajoutant des descriptions donnant des informations sur l'apparence physique d'un objet. Vous pouvez aussi intégrer les préférences utilisateur pour rendre vos apps plus accessibles, telles que Dynamic Type pour les textes de grande taille, Transparence réduite pour une meilleure lisibilité, et des alternatives au contenu verrouillé. En utilisant ces API et outils familiers, vos apps contribueront à rendre l'informatique spatiale accessible aux utilisateurs du monde entier. Voici l'introduction aux puissants frameworks à votre disposition pour créer des apps visionOS étonnantes. Voici Thessa pour vous parler des outils qui vous sont disponibles. Thessa Buscar-Alegria: En commençant à créer des apps, pour Vision Pro, vous reconnaîtrez plus que les frameworks. Nos outils de développement ont aussi été mis à jour pour prendre en charge visionOS. Tout comme pour nos autres plateformes, Xcode est au cœur de votre expérience de développement pour Vision Pro. Vous pouvez ajouter une destination visionOS à vos projets existants, ou construire une toute nouvelle app dédiée aux capacités uniques de cette plateforme. La première étape de la création d'une app est d'obtenir une interface visuelle correcte pour les contenus 2D et 3D. Xcode Previews vous permettent d'itérer rapidement sur l'apparence sans quitter l'éditeur. Lorsqu'il est temps de tester l'ensemble de votre app, vous pouvez passer au simulateur, qui offre un environnement puissant pour exécuter et déboguer votre app. Déplacez-vous et regardez autour de la scène à l'aide du clavier, du trackpad ou d'une manette de jeu compatible. Et vous pouvez interagir avec votre app en simulant les gestes du système. Le simulateur propose également trois scènes simulées différentes avec des conditions d'éclairage de jour et de nuit pour vous aider à visualiser votre app. Pour développer avec votre Vision Pro, vous construirez et exécuterez votre app sur l'appareil pour vous assurer qu'elle fonctionne. Je suis très enthousiaste de partager cette nouvelle fonctionnalité qui va transformer votre manière de travailler. L'affichage virtuel Mac vous permet d'afficher un moniteur virtuel 4K haute fidélité de votre Mac directement dans votre Vision Pro, simplement en le regardant. Vous pouvez utiliser toutes les fonctionnalités de votre Mac depuis votre appareil, y compris Xcode. C'est une incroyable expérience de développement de bout en bout : coder, tester et déboguer votre app directement depuis votre Vision Pro, sans interruption ni perte de contexte. Parfois, Il faut approfondir les liens entre le contenu de votre app et le monde réel. Lorsque votre app interagit avec la pièce de l'utilisateur, des difficultés particulières peuvent se présenter, comme le contenu 3D qui passe visuellement à travers les murs. Xcode propose des visualisations de débogage pratiques pour vous aider à explorer les collisions, occlusions, et la compréhension de la scène en relation avec votre contenu 3D. Ces visualisations fonctionnent aussi bien dans le simulateur et sur Vision Pro. En faisant évoluer vos apps visionOS, elles deviendront plus spatiales, dépassant les limites des fenêtres plates et offrant aux utilisatrices des expériences 3D novatrices. Pour bien faire, il fallait un nouvel outil visuel. C'est pourquoi nous avons créé Reality Composer Pro. Reality Composer Pro est une app qui vous permet de prévisualiser et de préparer du contenu 3D pour vos apps visionOS. Vous pouvez importer et organiser des ressources telles que des modèles 3D, des animations, des images et des sons. Elle s'intègre étroitement au processus de construction de Xcode afin d'optimiser vos actifs pour une utilisation sur Vision Pro. Vous pouvez aisément envoyer votre contenu à Vision Pro, le prévisualiser, le dimensionner et le faire pivoter. Effectuez de nouvelles modifications à tout moment et voyez à quoi ressemble votre contenu avant même d'avoir tapé une ligne de code. Voici Jason pour vous en parler. Jason Cahill: Je travaille sur l'un de nos projets types qui vous emmène à travers le système solaire. Je veux m'assurer que mon contenu 3D est bien visible dans Vision Pro, et je vais utiliser Reality Composer Pro pour le mettre à jour. Je vais commencer par importer le modèle de satellite et les images que j'ai créées dans mon logiciel de modélisation 3D. Ce modèle comporte de nombreux détails, mais n'a pas encore de matériaux. Je vais créer un matériau personnalisé dans Reality Composer Pro, puis je passe au Shader Graph pour le personnaliser. C'est facile et amusant d'ajouter des images simples et des modules nodes pour changer l'apparence d'un objet, sans avoir besoin d'entrer dans le code. Vous pouvez tester et voir les résultats directement et vous n'aurez jamais d'erreurs de compilateur dues à la saisie manuelle des shaders. Je vais aussi le répéter pour les autres modules. À tout moment, je peux prévisualiser mon travail directement sur ma Vision Pro. Je peux le mettre à l'échelle, le déplacer, ou le faire pivoter, et m'assurer qu'il a l'aspect et le rendu que je souhaite. J'adore ces changements. Je retourne ensuite dans Xcode, où mes modifications ont été intégrées à mon projet et sont prêtes à être utilisées dans les Xcode Previews ou dans le simulateur. Et voilà, prêt pour que je charge le code et l'utilise dans mon app ! Avec Reality Composer Pro, votre processus de développement visionOS dispose d'un nouvel outil puissant qui fonctionne en parallèle avec Xcode, rendant la prévisualisation et la préparation de contenu 3D aussi faciles que la construction et l'exécution de votre code. Thessa: Lorsque vous êtes prêts à tester votre app TestFlight sera disponible dès le départ sur Vision Pro. Soumettez de nouvelles versions à TestFlight comme vous le feriez normalement via App Store Connect, Xcode, ou Xcode Cloud, et les testeurs peuvent les installer et fournir des commentaires précieux directement depuis l'app TestFlight. Les testeuses ont accès à vos apps beta compatibles iPad et iPhone sur Vision Pro. Avec cette famille d'outils et de services de développement, de Xcode à TestFlight, et maintenant Reality Composer Pro, vous serez sur la bonne voie pour créer des apps étonnantes pour Vision Pro. Et maintenant, de retour à Mike. Mike: Beaucoup d'entre vous ont investi des années à créer des apps et des jeux 3D avec Unity. Pour faciliter l'intégration de vos apps à Vision Pro, Apple et Unity ont collaboré étroitement pour superposer le moteur en temps réel d'Unity sur RealityKit et permettre à leurs outils de développement de cibler visionOS. Cela signifie que les apps créées avec Unity peuvent coexister avec d'autres apps visionOS dans le Shared Space et profiter pleinement des avantages uniques d'Apple Vision Pro. Pour vous en dire plus, voici Ralph, d'Unity. Ralph Hauwert: Merci, Mike. La collaboration avec Apple sur l'intégration approfondie de visionOS a été vraiment passionnante. Vous pouvez désormais utiliser les outils de création robustes et familiers d'Unity pour créer de nouveaux jeux et apps visionOS. Vous pouvez également transférer vos projets Unity existants dans Vision Pro pour réimaginer vos expériences sur cette nouvelle plateforme. Vos apps ont accès à tous les avantages de visionOS, tels que le passage en haute résolution et le rendu dynamique par fovéation, en plus des fonctionnalités familières d'Unity comme AR Foundation. Grâce à l'intégration profonde entre Unity et visionOS, vos apps apparaissent aux côtés d'autres apps dans le Shared Space. En combinant les capacités de création et de simulation d'Unity avec le rendu d'app géré par RealityKit, le contenu créé avec Unity est parfaitement à sa place sur visionOS. Avec Unity, vous pourrez vous lancer rapidement grâce à notre communauté, nos tutoriels et nos modèles. Apple Vision Pro a franchi une nouvelle frontière dans le domaine de l'informatique spatiale et nous sommes impatients de voir les nouvelles apps et jeux que vous allez créer. Mike: Merci beaucoup, Ralph. Ça a été génial de travailler avec vous. Il y a d'autres caractéristiques essentielles de visionOS à connaître lorsque vous planifiez vos prochaines étapes. Voici Jeff pour vous en parler en détails. Les frameworks que vous utilisez pour créer des apps pour Vision Pro ont été conçus avec deux objectifs : profiter de la puissance matérielle et logicielle de la plateforme aisément, et préserver la vie privée des utilisateurs. Ces principes se retrouvent dans l'ensemble du système, les apps qui se fondent dans leur environnement, les interactions naturelles entre utilisateurs ou les nouvelles possibilités de collaboration. visionOS construit un modèle 3D de l'environnement de l'utilisatrice pour obtenir un éclairage et des ombres réalistes. Les apps se fondent donc naturellement dans le monde qui les entoure sans avoir besoin des données de la caméra. visionOS utilise le même modèle 3D pour permettre une nouvelle génération d'audio spatial pour vos apps. Dans le monde réel, le son se répand à travers et autour d'un espace, rebondit sur les murs et les meubles avant d'arriver aux oreilles. Les sons virtuels de votre app devraient en faire autant. Cela nécessite une compréhension sophistiquée de l'environnement de l'utilisateur. Le moteur audio spatial PHASE dans visionOS allie la détection acoustique à la compréhension de la scène 3D pour créer un modèle détaillé des caractéristiques sonores de l'espace. Tandis que les sources sonores et l'utilisatrice se déplacent, PHASE met à jour sa simulation audio par traçage en temps réel. Ce modèle s'associe à la technologie Audio Spatial Personnalisé d'Apple pour adapter automatiquement l'expérience à chaque personne et à son environnement. Toute cette incroyable complexité est gérée pour vous, pas besoin d'accéder aux détails de l'espace physique de l'utilisateur. Avec RealityKit, décidez d'où vous voulez que les sons viennent, et visionOS les intègre naturellement dans le monde réel. Tout comme les algorithmes qui alimentent l'éclairage et l'audio réalistes sur vos apps, les données saisies par l'utilisatrice sur visionOS fonctionnent automatiquement et sont privées de par leur nature. Les effets de survol s'affichent directement sur tous les éléments d'UI construits avec SwiftUI ou RealityKit. Si une utilisatrice regarde un bouton, il sera surligné avant d'être touché. Et tout comme un clic de souris, ou un toucher sur un iPhone, votre app est informée lorsque l'utilisateur tape du doigt. L'utilisatrice reçoit le feedback visuel dont elle a besoin, et vous recevez les interactions attendues sans avoir besoin de savoir où elle regarde avant de taper. Partage et collaboration Le partage et la collaboration sont au cœur de l'expérienceVision Pro. Comme sur macOS, Les utilisateurs de Vision Pro peuvent partager leurs fenêtres lors d'un appel FaceTime. Avec SharePlay, des expériences partagées de nouvelle génération deviennent possibles. Lorsque votre app adopte SharePlay avec l'API GroupActivities, le contrôle de partage de chaque fenêtre ajoute une option qui lance votre app pour tous les participants à l'appel. Cela leur permet de vivre une véritable expérience partagée, ensemble, en temps réel. Vous choisissez comment votre app est utilisée en collaboration, tout comme SharePlay sur nos autres plateformes. Lors d'un appel FaceTime, l'utilisatrice Vision Pro apparaît aux autres participants comme un Persona- une image naturelle créée à l'aide de techniques d'apprentissage automatique, qui correspond aux mouvements du visage et de la main. Les personas apparaissent aux autres utilisateurs de Vision Pro en volume et profondeur tridimensionnels. Mais nous voulons pousser FaceTime plus loin sur Vision Pro et permettre aux utilisatrices d'interagir comme si elles étaient dans la même pièce. Ce projet est encore à l'état initial et nous sommes ravis de pouvoir le partager avec vous. Les Spatial Personas permettent aux utilisatrices de Vision Pro de sortir de la fenêtre familière de FaceTime et se sentir plus présentes, comme si elles étaient réunies dans le même espace physique. VisionOS garantit que les utilisateurs et les apps disposent d'un contexte spatial partagé et cohérent. Vos apps peuvent en tirer parti grâce à SharePlay. En plus de la synchronisation des changements sur votre app, vous pourrez désormais répondre aux actions physique, pour qu'être ensemble sur un tableau Freeform ou déplacer des pièces de jeu de société semble naturel. Nous voulons que vos apps fassent partie de cette nouvelle expérience incroyable, et vos retours seront importants au cours de son développement. C'est pourquoi, cette année, un aperçu Spatial Personas vous sera disponible. Voici quelques exemples des technologies riches et variées dont vous pouvez tirer parti sur visionOS. Voici Linda, pour vous parler de la suite.
Linda Dong : Vous connaissez donc Apple Vision Pro et visionOS, qu'il y a t-il d'autre ? Votre aventure de développement débute aujourd'hui. Nous vous invitons à y plonger et à apprendre le plus possible lorsque vous commencerez à concevoir, à développer et à tester pour Vision Pro. Le kit de développement visionOS, ainsi qu'une mise à jour de Xcode et du Simulateur et Reality Composer Pro, seront disponibles dans le courant du mois, vous pouvez commencer à travailler sur vos idées. Vous aurez également accès à une documentation technique complète, de nouveaux kits et outils de création, ainsi qu'une mise à jour des lignes directrices de l'interface humaine pour visionOS. En plus du simulateur Vision Pro, nos options vous laissent voir comment votre app fonctionne sur Vision Pro. Cet été, nous lançons les ateliers Apple Vision Pro Developer, où vous pouvez tester votre app sur le matériel Vision Pro. Vous aurez une assistance concrète et la possibilité de tester votre expérience avant que Vision Pro ne soit disponible à la clientèle. Ces ateliers auront lieu à plusieurs endroits dans le monde, y compris dans notre Developer Center ici à Cupertino. Et peu importe où vous êtes, vous pourrez déposer une demande pour que nous évaluions la compatibilité de votre app avec Vision Pro. Nous installerons votre app et nous vous ferons un retour.
Pour plus d'informations sur ces opportunités passionnantes, consultez le site Developer. Et bien sûr, Vision Pro sera lancé avec un tout nouvel App Store, pour que les gens puissent découvrir et télécharger vos incroyables apps. Nous vous invitons à partager vos idées pour cette plateforme et nous continuerons à vous soutenir dans leur réalisation ! Et maintenant, de retour à Darin. Darin : Quelle incroyable année ! Une opportunité incroyable avec visionOS, tant de nouveautés réfléchies pour chaque plateforme, plus d'endroits pour présenter votre app avec WidgetKit, une évolution pour la caméra Continuité, et un nouveau design pour watchOS. Des améliorations majeures à Swift with Macros et Swift Data, ainsi qu'une mise à jour importante de Xcode Previews. Cette année, les nouveautés langages, frameworks, outils et services représentent notre engagement profond à l'aide à la création d'expériences uniques pour des milliards d'appareils sur nos plateformes. Ces plateformes s'étendent sur des produits de plus en plus diversifiés avec un niveau de cohérence et d'intégration qui fait la différence pour les équipes de développement et les utilisatrices. Nous avons réussi à toucher du doigt les nouveautés de nos plateformes. Mais pour aller plus loin, nous avons 175 sessions vidéo approfondies dont 40 consacrées rien qu'à visionOS, ainsi que plus de 200 ateliers animés par des experts Apple pour répondre à vos questions tandis que vous construisez vos apps. C'est le meilleur moment pour être développeuse Apple, et je sais que ce que vous créerez étonnera et ravira vos utilisateurs. Passez une excellente WWDC ! ♪ ♪
♪ ♪
-