Autres modifications du framework macOS Sierra
Accélération des améliorations apportées à l’infrastructure
Les améliorations suivantes ont été apportées au Framework d’accélération pour macOS Sierra :
- Ajout de Quadrature (calcul intégral).
- Ajout de fonctions de base pour la construction de réseaux neuronaux.
- Ajout de fonctions de prédicat géométrique pour tester des éléments comme l’intersection de deux objets géométriques.
Améliorations apportées à AppKit Framework
Les améliorations suivantes ont été apportées à AppKit Framework pour macOS Sierra :
- Plusieurs améliorations apportées à
NSCollectionView
telles que :- Sections réductibles : permet à l’utilisateur de réduire une section d’affichage de collection en une seule ligne horizontale.
- En-têtes flottants : les en-têtes et les pieds de page peuvent désormais être flottants (dans une disposition de flux) à l’aide de la même API que UICollectionView dans iOS.
- Affichages d’arrière-plan défilants : un arrière-plan vues de collection peut désormais être défini pour faire défiler le contenu.
- La passe de disposition de la vue différée a été optimisée et étendue.
- L’API glisser-déplacer inclut désormais les nouvelles
NSFilePromiseProvider
classesNSFilePromiseReceiver
pour prendre en charge le glissement de troupeau. - Plusieurs constructeurs pratiques ont été ajoutés aux contrôles existants :
NSButton
inclut de nouveaux constructeurs pour créer des boutons push, case activée boxes et des cases d’option.NSTextField
inclut de nouveaux constructeurs pour la création d’étiquettes de création d’un wrapper et d’étiquettes non wrapping, d’étiquettes attribuées et de champs de texte modifiables.NSSegmentedControl
inclut de nouveaux constructeurs pour créer des contrôles segmentés à partir d’un groupe d’étiquettes ou d’images.NSSlider
inclut de nouveaux constructeurs pour créer des curseurs linéaires horizontaux.NSImageView
inclut de nouveaux constructeurs pour la création de vues d’images non modifiables à partir d’un élément donnéNSImage
.
- Le nouveau
NSGridView
a été ajouté pour mettre en page automatiquement une collection de sous-vues dans une grille avec des lignes et des colonnes de taille variable qui peuvent être masquées dynamiquement ou affichées.
Améliorations de l’infrastructure AVFoundation
Les améliorations suivantes ont été apportées au framework AVFoundation pour macOS Sierra :
- Dans macOS, l’application n’a plus besoin d’implémenter différents comportements AVPlayerItem en fonction du type de contenu. Il suffit de définir la
Rate
propriété et AVFoundation déterminent quand un contenu suffisant est disponible pour la lecture sans bloquer. - La nouvelle
AVPlayerLooper
classe facilite la boucle d’un élément multimédia donné pendant la lecture. - La
AVAssetDownloadURLSession
classe permet le téléchargement et la lecture ultérieure de flux HLS chiffrés FairPlay.
Améliorations de Core Data Framework
Les améliorations suivantes ont été apportées à Core Data Framework pour macOS Sierra :
- Les objets NSManagedObjectContext racine prennent en charge les erreurs simultanées et l’extraction sans sérialisation.
- La classe NSPersistentStoreCoordinator gère un pool de magasins de données SQLite.
- Les objets NSManagedObjectContext avec des magasins de données SQLite dans le mode journal WAL prennent en charge la nouvelle fonctionnalité de génération de requêtes dans laquelle les contextes d’objet managé (MOC) peuvent être épinglés à des versions de base de données spécifiques pour récupérer et effectuer des transactions d’erreur ultérieures.
- Utilisation du haut niveau
NSPersistenceContainer
pour référencer lesNSPersistentStoreCoordinator
ressources de configuration de données principales, NSManagedObjectModel et autres ressources de configuration de données principales. - Plusieurs nouvelles méthodes pratiques ont été ajoutées pour
NSManagedObject
faciliter l’exécution des extractions et la création de sous-classes.
Pour plus d’informations, consultez la référence de Core Data Framework d’Apple.
Améliorations de Core Image Framework
L’amélioration suivante a été apportée à Core Image Framework pour macOS Sierra :
- La
ImageWithExtent
méthode de la classe CIFilter peut être utilisée pour insérer un traitement personnalisé dans l’opération de filtre. L’image principale appelle le rappel donné entre les filtres lors du traitement d’une image pour la sortie ou l’affichage. - L’application peut désormais traiter des images dans un espace de couleur en dehors de l’espace de couleur de travail du contexte Image principale en convertissant et en dehors de l’espace de couleur avant et après le traitement.
- Le noyau Core Image peut désormais demander un format de sortie de pixel spécifique.
- Les nouveaux filtres d’image suivants ont été ajoutés :
CINinePartTitled
, ,CINinePartStretched
CIHueSaturationValueGradient
,CIEdgePreserveUpsampleFilter
etCIClamp
.
Améliorations apportées à Foundation Framework
Les améliorations suivantes ont été apportées au Foundation Framework pour macOS Sierra :
- Utilisez l’API NSDimentions pour représenter, convertir et afficher de nombreuses unités physiques les plus courantes telles que la masse, la longueur, la vitesse, la durée et la température.
- Utilisez la classe NSISO8601DateFormatter pour analyser et générer des dates formatées ISO 8601.
- Utilisez la nouvelle classe NSDateInterval pour effectuer des calculs d’intervalle de date et d’heure, tels que des durées, pour comparer les intervalles et les tests pour les intersections d’intervalles.
- Utilisez la classe NSPersonNameComponentsFormatter pour analyser les éléments du nom d’une personne à partir d’une chaîne.
- Utilisez la nouvelle classe NSURLSessionTaskMetrics pour obtenir des métriques pour une session de mise en réseau d’URL.
Pour plus d’informations, consultez les notes de publication d’Apple pour OS X v10.12 et iOS 10.
Améliorations apportées à GameKit Framework
Les améliorations suivantes ont été apportées au GameKit Framework pour macOS Sierra :
- L’application Game Center a été déconseillée et supprimée de macOS. Si l’application utilise GameKit, elle doit présenter sa propre interface pour afficher des fonctionnalités GameKit telles que des classements, etc.
- Un nouveau type de compte iCloud uniquement a été implémenté par la classe GKCloudPlayer .
- La nouvelle classe GKGameSession fournit une solution généralisée pour la gestion du stockage de données persistant sur Game Center.
GKGameSession
gère une liste de joueurs et l’application est responsable de l’implémentation de la façon et du moment où la date du participant est stockée, récupérée ou échangée entre les joueurs. Dans de nombreux cas, les sessions de jeu peuvent remplacer les correspondances basées sur les tournure existantes, les correspondances en temps réel ou les méthodes d’enregistrement de jeu persistantes.
Améliorations apportées à l’infrastructure GamePlayKit
L’amélioration suivante a été apportée au GamePlayKit Framework pour macOS Sierra :
- La génération de bruit procédural a été ajoutée et peut être utilisée pour améliorer le réalisme dans les textures naturelles, ajouter du réalisme aux mouvements de caméra et aider à générer des mondes de jeu riches.
- Utilisez le partitionnement spatial pour partitionner les données du monde du jeu pour une recherche efficace.
- Un nouveau stratège Monte Carlo (GKMonteCarloStrategist) a été ajouté pour un calcul de déplacement possible exhaustif.
- Une nouvelle API d’arbre de décision a été ajoutée (GKDecisionTree et GKDecisionNode) pour améliorer l’IA de création de jeux.
- La prise en charge 3D a été ajoutée aux comportements d’agent et de recherche de chemins existants à l’aide des nouvelles classes GKAgent3D et GKGraphNode3D .
- Utilisez la nouvelle classe GKMeshGraph pour fournir des chemins à haute performance et naturels.
- Les nouvelles classes GKScene et GKSKNodeComponent facilitent la combinaison du GameplayKit et du SpriteKit que jamais.
Améliorations apportées à Metal Framework
Les améliorations suivantes ont été apportées à Metal Framework pour macOS Sierra :
- Les applications et jeux 3D peuvent désormais utiliser Tessellation pour restituer efficacement des scènes et des géométries complexes via le GPU.
- Utilisez la spécialisation de fonction pour créer une collection hautement optimisée de fonctions de combinaison de matériaux et de lumière pour une scène.
- Fournissez un contrôle précis de l’allocation des ressources pour optimiser les performances des applications metal à l’aide de tas de ressources et de cibles de rendu sans mémoire.
Pour en savoir plus, consultez le Guide de programmation Metal d’Apple.
Améliorations apportées à l’infrastructure d’E/S de modèle
L’amélioration suivante a été apportée à l’infrastructure d’E/S de modèle pour macOS Sierra :
- Le format de fichier USD est désormais pris en charge.
- Utilisez la nouvelle
MDLMaterialPropertyGraph
classe pour prendre en charge facilement les modifications d’exécution apportées aux modèles. - La prise en charge du champ distance signée a été ajoutée à la classe MDLVoxelArray .
- Utilisez la nouvelle
MDLLightProbeIrradianceDataSource
classe pour faciliter le positionnement de la sonde légère.
Améliorations apportées à l’infrastructure photos
Les améliorations suivantes ont été apportées à l’infrastructure photos pour macOS Sierra :
- La modification de photos en direct est désormais disponible pour les applications qui prennent en charge l’infrastructure Photos et les extensions d’édition de photos (pour une utilisation à l’intérieur des applications Photos et Caméra).
- Utilisez la nouvelle classe PHLivePhotoEditingContext pour appliquer des modifications à la fois à la vidéo et au contenu des photos en direct.
- Utilisez les classes CIImageProcessorInput et CIImageProcessorOutput pour tirer parti de la nouvelle fonctionnalité de processeur d’images core pour effectuer des modifications.
- Pour prendre en charge Live Photos, les classes PHLivePhoto et PHLivePhotoView ont été transférées d’iOS vers macOS.
Améliorations apportées à SceneKit Framework
Les améliorations suivantes ont été apportées au SceneKit Framework pour macOS Sierra :
- Inclut désormais un nouveau système PBR (Physically Based Rendering) pour obtenir des résultats plus réalistes avec une création de ressources plus simple.
- Utilisez le nouveau modèle d’ombrage SCNLightingModelPhysicalBased pour produire un large éventail d’effets d’ombrage réalistes tout en nécessitant seulement trois propriétés fondamentales (
Diffuse
Metalness
etRoughness
). - Étant donné que l’ombrage PBR fonctionne le mieux avec l’éclairage basé sur l’environnement, utilisez la propriété pour affecter l’éclairage basé sur l’image
LightingEnvironment
à la scène entière. - Utilisez la
IESProfileURL
propriété pour importer des appareils lumineux réels qui définissent la base de l’éclairage sur des valeurs réelles, telles que l’intensité (en intervalles) et la température de couleur (en degrés Kelvin). - La classe SCNCamera peut fournir un plus grand réalisme à l’aide de fonctionnalités et d’effets HDR. Utilisez l’exposition adaptative pour créer des effets automatiques ou utiliser le vignetage, le fring de couleur et la notation de couleur pour ajouter des effets filmatiques au jeu.
- Les fonctionnalités de caméra PBR et HDR fournissent de meilleurs résultats que les techniques de rendu traditionnelles et, par conséquent, SceneKit effectue désormais tous les calculs de couleurs dans un espace de couleurs linéaire (à l’aide de la gamme de couleurs P3 sur les écrans d’appareils à grande couleur).
- SceneKit correspond désormais à toutes les couleurs en lisant les informations de profil de couleur.
- SceneKit interprète les valeurs des composants de couleur dans un espace de couleur RVB linéaire pour tous les types de nuanceurs.
- Étant donné que SceneKit lit et ajuste les informations de profil de couleur dans les images de texture, utilisez les catalogues de ressources pour toutes les images pour vous assurer que ces informations sont fournies.
- Le rendu de l’espace de couleur linéaire et la couleur large peuvent être désactivés en spécifiant les clés et
SCNDisableWideGamut
lesSCNDisableLinearSpaceRendering
clés deInfo.plist
l’application. - Créez des polygones arbitraires (chargés à partir de fichiers ou générés par programme) pour spécifier la géométrie avec la nouvelle classe SCNGeometryPrimitiveTypePolygon .
Améliorations apportées à Security Framework
Les améliorations suivantes ont été apportées au Framework de sécurité pour macOS Sierra :
- L’interface
SecKey
a été modernisée et unifiée sur toutes les plateformes (iOS, tvOS, watchOS et macOS).
Améliorations apportées à SpriteKit Framework
Les améliorations suivantes ont été apportées au SpriteKit Framework pour macOS Sierra :
- Les mosaïques prennent désormais en charge les formes de mosaïques carrées, hexagonales et isométriques pour les jeux 2D, 2,5D et de défilement latéral à l’aide des classes et
SKTileSet
desSKTileMapMode
SKTileGroup
SKTileGroupRule
classes. - Utilisez la nouvelle
SKWarpGeometry
classe pour étirer ou fausser le rendu SKSpriteNode ou SKEffectNode . La nouvelle classe SKAction peut être utilisée pour animer des transitions entre les effets de warp. - Les nuanceurs personnalisés peuvent fournir des attributs (
SKAttribute
) qui peuvent être configurés séparément par chaque nœud qui utilise le nuanceur en fournissant une valeur d’attribut (SKAttributeValue
). - La classe SKView fournit plusieurs nouvelles méthodes pour donner un contrôle précis sur le moment et le rendu d’une scène.
Nouvelles infrastructures
Les frameworks suivants ont été ajoutés à macOS Sierra :
- Intents Framework : cette infrastructure permet à l’application d’examiner les interactions (telles que l’emplacement ou les actions de l’utilisateur) et de prendre des mesures en fonction de ces informations.
- SafariServices Framework : cette infrastructure permet à l’application de développer des extensions d’application pour Safari (comme des bloqueurs de contenu) pour macOS et iOS.