Share via


Zusätzliche macOS Sierra Framework-Änderungen

Beschleunigen von Framework-Verbesserungen

Die folgenden Verbesserungen wurden am Accelerate Framework für macOS Sierra vorgenommen:

  • Quadratur hinzugefügt (Integralkalkulus).
  • Grundlegende Funktionen zum Erstellen neuraler Netzwerke hinzugefügt.
  • Es wurden geometrische Prädikatfunktionen hinzugefügt, um Dinge wie die Schnittmenge von zwei geometrischen Objekten zu testen.

Verbesserungen des AppKit-Frameworks

Die folgenden Verbesserungen wurden an das AppKit Framework für macOS Sierra vorgenommen:

  • Verschiedene Verbesserungen, z. B NSCollectionView .:
    • Reduzierbare Abschnitte – Ermöglicht dem Benutzer, einen Sammlungsansichtsabschnitt in eine einzelne horizontale Zeile zu reduzieren.
    • Unverankerte Kopfzeilen – Kopf- und Fußzeilen können jetzt (in einem Flusslayout) mit derselben API wie "UICollectionView " in iOS schweben.
    • Bildlauffähige Hintergrundansichten – Ein Sammlungsansichtshintergrund kann jetzt so festgelegt werden, dass er zusammen mit dem Inhalt scrollt.
  • Der Layoutdurchlauf für verzögerte Ansicht wurde optimiert und erweitert.
  • Die Drag-and-Drop-API enthält jetzt die neuen NSFilePromiseProvider Klassen, NSFilePromiseReceiver um das Ziehen von Strömen zu unterstützen.
  • Es wurden mehrere Komfortkonstruktoren zu vorhandenen Steuerelementen hinzugefügt:
    • NSButton enthält neue Konstruktoren zum Erstellen von Pushschaltflächen, Kontrollkästchen und Optionsfeldern.
    • NSTextField enthält neue Konstruktoren zum Erstellen von Umbruch- und nicht umbrochenen Bezeichnungen, Attributbezeichnungen und bearbeitbaren Textfeldern.
    • NSSegmentedControl enthält neue Konstruktoren zum Erstellen von segmentierten Steuerelementen aus einer Gruppe von Bezeichnungen oder Bildern.
    • NSSlider enthält neue Konstruktoren zum Erstellen horizontaler linearer Schieberegler.
    • NSImageViewenthält neue Konstruktoren zum Erstellen nicht bearbeitbarer Bildansichten aus einer bestimmten .NSImage
  • Das neue NSGridView wurde dem automatischen Layout einer Sammlung von Unteransichten in einem Raster mit Zeilen und Spalten mit variabler Größe hinzugefügt, die dynamisch ausgeblendet oder angezeigt werden können.

Verbesserungen des AVFoundation Framework

Die folgenden Verbesserungen wurden am AVFoundation Framework für macOS Sierra vorgenommen:

  • In macOS muss die App nicht mehr verschiedene AVPlayerItem-Verhaltensweisen basierend auf dem Inhaltstyp implementieren. Legen Sie einfach die Rate Eigenschaft fest, und AVFoundation bestimmt, wann genügend Inhalte für die Wiedergabe verfügbar sind, ohne dass dies angehalten wird.
  • Die neue AVPlayerLooper Klasse erleichtert die Schleife eines bestimmten Medienteils während der Wiedergabe.
  • Die AVAssetDownloadURLSession Klasse ermöglicht das Herunterladen und spätere Wiedergabe verschlüsselter HLS-Streams von FairPlay.

Core Data Framework-Verbesserungen

Die folgenden Verbesserungen wurden am Core Data Framework für macOS Sierra vorgenommen:

  • Stammobjekte von NSManagedObjectContext unterstützen gleichzeitiges Fehlerhaftes und Abrufen ohne Serialisierung.
  • Die NSPersistentStoreCoordinator-Klasse Standard enthält einen Pool von SQLite-Datenspeichern.
  • Die NSManagedObjectContext-Objekte mit SQLite-Datenspeichern im WAL-Journalmodus unterstützen das neue Feature zur Abfragegenerierung, bei dem verwaltete Objektkontexte (Managed Object Contexts, MOC) an bestimmte Datenbankversionen angeheftet werden können, um zukünftige Abfragen und fehlerhafte Transaktionen zu erhalten.
  • Verwenden der allgemeinen EbeneNSPersistenceContainer, um auf das NSPersistentStoreCoordinatorNSManagedObjectModel und andere Core Data-Konfigurationsressourcen zu verweisen.
  • Es wurden mehrere neue Komfortmethoden hinzugefügt, um NSManagedObject das Ausführen von Abrufen und Erstellen von Unterklassen zu vereinfachen.

Weitere Informationen finden Sie in der Core Data Framework-Referenz von Apple.

Core Image Framework-Verbesserungen

Die folgenden Verbesserungen wurden am Core Image Framework für macOS Sierra vorgenommen:

  • Die ImageWithExtent Methode der CIFilter-Klasse kann verwendet werden, um benutzerdefinierte Verarbeitung in den Filtervorgang einzufügen. Das Kernbild ruft den angegebenen Rückruf zwischen Filtern auf, wenn ein Bild für die Ausgabe oder Anzeige verarbeitet wird.
  • Die App kann bilder jetzt in einem Farbraum außerhalb des Arbeitsfarbraums des Core Image-Kontexts verarbeiten, indem sie vor und nach der Verarbeitung in und aus dem Farbraum konvertiert werden.
  • Der Core Image-Kernel kann jetzt ein bestimmtes Pixelausgabeformat anfordern.
  • Die folgenden neuen Bildfilter wurden hinzugefügt: CINinePartTitled, , CINinePartStretched, CIHueSaturationValueGradientund CIEdgePreserveUpsampleFilterCIClamp.

Verbesserungen des Foundation-Frameworks

Die folgenden Verbesserungen wurden am Foundation Framework für macOS Sierra vorgenommen:

  • Verwenden Sie die NSDi Erwähnung s-API zum Darstellen, Konvertieren und Anzeigen vieler der am häufigsten verwendeten physischen Einheiten wie Masse, Länge, Geschwindigkeit, Dauer und Temperatur.
  • Verwenden Sie die NSISO8601DateFormatter-Klasse zum Analysieren und Generieren von formatierten ISO 8601-Datumsangaben.
  • Verwenden Sie die neue NSDateInterval-Klasse , um Datums- und Uhrzeitintervallberechnungen wie Dauer zu erstellen, um Intervalle zu vergleichen und Tests für Intervall-Schnittmengen durchzuführen.
  • Verwenden Sie die NSPersonNameComponentsFormatter-Klasse , um die Elemente des Namens einer Person aus einer Zeichenfolge zu analysieren.
  • Verwenden Sie die neue NSURLSessionTaskMetrics-Klasse , um Metriken für eine URL-Netzwerksitzung abzurufen.

Weitere Informationen finden Sie in den Versionshinweisen zu Apple Foundation für OS X v10.12 und iOS 10.

Verbesserungen des GameKit-Frameworks

Die folgenden Verbesserungen wurden am GameKit Framework für macOS Sierra vorgenommen:

  • Die Game Center-App wurde veraltet und aus macOS entfernt. Wenn die App GameKit verwendet, muss sie eine eigene Schnittstelle zum Anzeigen von GameKit-Features wie Leaderboards usw. darstellen.
  • Ein neuer iCloud-only-Kontotyp wurde von der GKCloudPlayer-Klasse implementiert.
  • Die neue GKGameSession-Klasse bietet eine generalisierte Lösung zum Verwalten der dauerhaften Datenspeicherung im Game Center. GKGameSessionStandard enthält eine Liste der Spieler und die App ist dafür verantwortlich, wie und wann das Teilnehmerdatum gespeichert, abgerufen oder zwischen Spielern ausgetauscht wird. In vielen Fällen können Spielsitzungen vorhandene rundenbasierte Übereinstimmungen, Echtzeit-Übereinstimmungen oder dauerhafte Spielspeichermethoden ersetzen.

Verbesserungen des GamePlayKit-Frameworks

Die folgenden Verbesserungen wurden am GamePlayKit Framework für macOS Sierra vorgenommen:

  • Die prozedurale Rauschgenerierung wurde hinzugefügt und kann verwendet werden, um den Realismus in natürlich aussehenden Texturen zu verbessern, Realismus zu Kamerabewegungen hinzuzufügen und dabei zu helfen, reichhaltige Spielwelten zu generieren.
  • Verwenden Sie spatial Partitioning, um die Spielweltdaten für eine effiziente Suche zu partitionieren.
  • Eine neue Monte Carlo-Strategistin (GKMonteCarloStrategist) wurde zur erschöpfenden möglichen Bewegungsberechnung hinzugefügt.
  • Es wurde eine neue Entscheidungsstruktur-API (GKDecisionTree und GKDecisionNode) hinzugefügt, um die KI-Entwicklung des Spiels zu verbessern.
  • Die 3D-Unterstützung wurde vorhandenen Agent- und Pfadsucheverhalten mithilfe der neuen GKAgent3D - und GKGraphNode3D-Klassen hinzugefügt.
  • Verwenden Sie die neue GKMeshGraph-Klasse , um leistungsstarke, natürliche Pfade bereitzustellen.
  • Die neuen Klassen GKScene und GKSKNodeComponent machen die Kombination von GameplayKit und SpriteKit einfacher denn je.

Erweiterungen des Metallframeworks

Die folgenden Verbesserungen wurden am Metal Framework für macOS Sierra vorgenommen:

  • 3D-Apps und -Spiele können jetzt Tessellation verwenden, um komplexe Szenen und Geometrie über die GPU effizient zu rendern.
  • Verwenden Sie die Funktionsspezialisierung, um eine hochoptimierte Sammlung von Material- und Lichtkombinationsfunktionen für eine Szene zu erstellen.
  • Bieten Sie eine präzise Steuerung der Ressourcenzuordnung, um die Leistung von metallbasierten Apps mithilfe von Ressourcen heaps und Speicherlosen Renderzielen zu optimieren.

Weitere Informationen finden Sie im Apple Metal Programming Guide.

Verbesserungen des Modell-E/A-Frameworks

Die folgenden Verbesserungen wurden am Model I/O Framework für macOS Sierra vorgenommen:

  • Das USD-Dateiformat wird jetzt unterstützt.
  • Verwenden Sie die neue MDLMaterialPropertyGraph Klasse, um Laufzeitänderungen an Modellen auf einfache Weise zu unterstützen.
  • Die Unterstützung für signiertes Distanzfeld wurde der MDLVoxelArray-Klasse hinzugefügt.
  • Verwenden Sie die neue MDLLightProbeIrradianceDataSource Klasse, um die Platzierung von Lichtsonden zu unterstützen.

Fotos Framework-Verbesserungen

Die folgenden Verbesserungen wurden an das Fotos Framework für macOS Sierra vorgenommen:

  • Die Live-Fotobearbeitung ist jetzt für Apps verfügbar, die das Fotos Framework unterstützen, und für Fotobearbeitungserweiterungen (für die Verwendung innerhalb der Fotos- und Kamera-Apps).
  • Verwenden Sie die neue PHLivePhotoEditingContext-Klasse, um Bearbeitungen sowohl auf das Video als auch auf den Inhalt von Live Fotos anzuwenden.
  • Verwenden Sie die KLASSEN CIImageProcessorInput und CIImageProcessorOutput , um das neue Core Image Processor Feature zum Ausführen von Bearbeitungen zu nutzen.
  • Zur Unterstützung von Live Fotos wurden die PHLivePhoto- und PHLivePhotoView-Klassen von iOS zu macOS portiert.

Verbesserungen des SceneKit-Frameworks

Die folgenden Verbesserungen wurden am SceneKit Framework für macOS Sierra vorgenommen:

  • Enthält nun ein neues physically Based Rendering (PBR)-System für realistischere Ergebnisse mit einfacherer Objekterstellung.
  • Verwenden Sie das neue SCNLightingModelPhysicallyBased-Schattierungsmodell, um eine breite Palette realistischer Schattierungseffekte zu produktieren, wobei nur drei grundlegende Eigenschaften (DiffuseMetalnessund Roughness) erforderlich sind.
  • Da PBR-Schattierung am besten mit umgebungsbasierter Beleuchtung funktioniert, verwenden Sie die LightingEnvironment Eigenschaft, um bildbasierte Beleuchtung zuzuweisen, um ganze Szene zu bräunen.
  • Verwenden Sie die IESProfileURL Eigenschaft, um reale Leuchten zu importieren, die Die Beleuchtungsbasis auf realen Werten wie Intensität (in Lumen) und Farbtemperatur (in Grad Kelvin) definieren.
  • Die SCN Kamera-Klasse kann mithilfe von HDR-Features und -Effekten einen größeren Realismus bieten. Verwenden Sie adaptive Belichtung zum Erstellen von automatischen Effekten oder verwenden Sie Vignetting, Farbfränder und Farbnoten, um dem Spiel filmatische Effekte hinzuzufügen.
  • Sowohl PBR- als auch HDR-Kamerafeatures bieten bessere Ergebnisse als herkömmliche Renderingtechniken und daher führt SceneKit jetzt alle Farbberechnungen in einem linearen Farbraum aus (unter Verwendung der P3-Farbskala auf Breitfarbgeräteanzeigen).
  • SceneKit stimmt jetzt mit allen Farben überein, indem die Farbprofilinformationen gelesen werden.
  • SceneKit interpretiert Farbkomponentenwerte in einem linearen RGB-Farbraum für alle Shadertypen.
  • Da SceneKit Farbprofilinformationen in Texturbildern liest und anpasst, verwenden Sie Objektkataloge für alle Bilder, um sicherzustellen, dass diese Informationen bereitgestellt werden.
  • Sowohl das rendern des linearen Farbraums als auch das Breitfarbenrendering können deaktiviert werden, indem die SCNDisableLinearSpaceRendering Und-Tasten SCNDisableWideGamut in der App Info.plistangegeben werden.
  • Erstellen Sie beliebige Polygon-Primaten (entweder aus Dateien geladen oder programmgesteuert generiert), um Geometrie mit der neuen SCNGeometryPrimitiveTypePolygon-Klasse anzugeben.

Verbesserungen des Security Frameworks

Die folgenden Verbesserungen wurden am Security Framework für macOS Sierra vorgenommen:

  • Die SecKey Schnittstelle wurde auf allen Plattformen modernisiert und vereinheitlicht (iOS, tvOS, watchOS und macOS).

Verbesserungen des SpriteKit-Frameworks

Die folgenden Verbesserungen wurden am SpriteKit Framework für macOS Sierra vorgenommen:

  • Tilemaps unterstützen jetzt quadratische, sechseckige und isometrische Kachelformen für 2D-, 2.5D- und Side-Scrolling-Spiele mit den SKTileMapMode, SKTileGroupund SKTileGroupRuleSKTileSet Klassen.
  • Verwenden Sie die neue SKWarpGeometry Klasse, um das Rendern von SKSpriteNode oder SKEffectNode zu strecken oder zu verfälschen. Die neue SKAction-Klasse kann verwendet werden, um Übergänge zwischen Verzerrungseffekten zu animieren.
  • Benutzerdefinierte Shader können Attribute (SKAttribute) bereitstellen, die separat von jedem Knoten konfiguriert werden können, der den Shader verwendet, indem ein Attributwert (SKAttributeValue) angegeben wird.
  • Die SKView-Klasse bietet mehrere neue Methoden, um präzise Kontrolle darüber zu geben, wann und wie eine Szene gerendert wird.

Neue Frameworks

Die folgenden Frameworks wurden macOS Sierra hinzugefügt:

  • Intents Framework – Dieses Framework ermöglicht es der App, Interaktionen (z. B. Standort- oder Benutzeraktionen) zu untersuchen und basierend auf diesen Informationen Maßnahmen zu ergreifen.
  • SafariServices Framework – Dieses Framework ermöglicht es der App, App-Erweiterungen für Safari (z. B. Inhaltsblocker) sowohl für macOS als auch für iOS zu entwickeln.