Teilen über


Zusätzliche TvOS 10 Frameworks-Änderungen

Neben den großen Änderungen an tvOS hat Apple Änderungen und Verbesserungen an mehreren vorhandenen Frameworks in tvOS 10 vorgenommen.

Ergänzungen des AVFoundation Framework

Das AVFoundation-Framework enthält die folgenden Verbesserungen:

  • In tvOS 10 implementiert die App nicht mehr verschiedene AVPlayerItem-Verhaltensweisen basierend auf dem Inhaltstyp. 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.

Verbesserungen des AVKit-Frameworks

Das AVKit-Framework enthält die folgenden Verbesserungen:

  • Die App hat jetzt die Kontrolle über das Überspringungsverhalten des AVPlayerViewController , sodass eine Überspringungsgeste möglicherweise zum nächsten Element in der Wiedergabeliste wechselt oder innerhalb des aktuellen Elements voranschreiten kann.

Kerndatenverbesserungen

tvOS 10 enthält die folgenden Verbesserungen am Core Data Framework:

  • 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.

Verbesserungen bei Kerngrafiken

tvOS 10 enthält die folgenden Verbesserungen am Core-Grafikframework:

  • Die neue CGColorConverterRef-Klasse kann verwendet werden, um eine Reihe von Farbkonvertierungen durchzuführen.

Kernbildverbesserungen

tvOS 10 macht die folgenden Verbesserungen am Core Image Framework:

  • 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.
  • Es wurden mehrere Verbesserungen der Renderingleistung zum Rendern (bei der Sicherung durch Core Image Image-Speicher) in UIImageView Objekten vorgenommenUIImage.
  • UIImage Objekte, die mit breitem Farbspektrum gekennzeichnet sind, werden in Objekten auf iOS-Geräten, die breite Farbe unterstützen, als Breite-Gamut-Farbe UIImageView gerendert.
  • Core Image-Kernelcode kann jetzt bestimmte Pixelausgabeformate anfordern.

Darüber hinaus wurden die folgenden neuen Core Image-Filter hinzugefügt:

  • CINinePartTiled
  • CINinePartStretched
  • CIHueSaturationValueGradient
  • CIEdgePreserveUpsampleFilter
  • CIClamp

Foundation-Verbesserungen

Die folgenden Verbesserungen wurden am Foundation-Framework für tvOS 10 vorgenommen:

  • 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.
  • Der NSLocal-Klasse wurden mehrere neue Eigenschaften hinzugefügt, um lokale Informationen und die verfügbaren Anzeigeformate zu erhalten.
  • Verwenden Sie die neue NSMeasurement-Klasse , um zwischen verschiedenen Maßeinheiten (UOM) zu konvertieren oder Berechnungen für Werte in verschiedenen UOMs durchzuführen.
  • Verwenden Sie die neue NSMeasurementFormatter-Klasse , um lokalisierte Maße für die Anzeige für den Endbenutzer zu formatieren.
  • Verwenden Sie die neuen NSUnit - und NSDimension-Klassen für die Darstellung bestimmter UOMs.

GameKit-Verbesserungen

Die folgenden Verbesserungen wurden am GameKit-Framework in tvOS 10 vorgenommen:

  • 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.

GameplayKit-Verbesserungen

Die folgenden Verbesserungen wurden am GameplayKit-Framework in tvOS 10 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.

Metallverbesserungen

Die folgenden Verbesserungen wurden am Metal-Framework in tvOS 10 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 von Metal Performance Shadern

Die folgenden Verbesserungen wurden am Metal Performance Shaders-Framework in tvOS 10 vorgenommen:

  • Viele neue Kernel wurden dem Metal Performance Shaders-Framework hinzugefügt, damit die App die Vorteile von hochoptimierten, datenparalen Berechnungen wie Farbraumkonvertierungen und neuralen Netzwerkvorgängen nutzen kann.

ModelIO-Verbesserungen

Die folgenden Verbesserungen wurden am ModelIO-Framework in tvOS 10 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.

SceneKit-Verbesserungen

Die folgenden Verbesserungen wurden am SceneKit-Framework in tvOS 10 vorgenommen:

  • SceneKit enthält jetzt 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.

SpriteKit-Verbesserungen

Die folgenden Verbesserungen wurden am SpriteKit-Framework in tvOS 10 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.

UIKit-Verbesserungen

Die folgenden Verbesserungen wurden am UIKit-Framework in tvOS 10 vorgenommen:

  • Die Fokus-API wurde erweitert, um den Fokus von Nicht-Ansichtselementen zusätzlich zu UIViewsunterstützen. Elemente, die den Fokus unterstützen, müssen die IUIFocusItem Schnittstelle implementieren.
  • Die neue UIGraphicsRender Klasse stellt eine objektorientierte Methode zum Erstellen von Bitmaps oder PDFs aus UIKit-Rendering oder Core Graphics bereit und ersetzt die veraltete UIGraphicsBeginImageContext Methode.
  • Die UIUserInterfaceStyle Klasse wurde hinzugefügt, um zu bestimmen, welches Benutzeroberflächendesign (dunkel oder hell) derzeit aktiv ist.
  • Neue vollständig interaktive, objektbasierte, unterbrechungsfähige Animationsunterstützung wurde hinzugefügt und kann mit Gesten verknüpft werden. Pleas see Apple's UIViewAnimating Protocol Reference, UIViewPropertyAnimator Class Reference, UITimingCurveProvider Protocol Reference, UICubicTimingParameters Class Reference and UISpringTimingParameter Class Reference for more information.
  • Die neue UIPreviewInteraction App ermöglicht UIPreviewInteractionDelegate es der App, eine benutzerdefinierte Benutzeroberfläche für Vorschau- und Popvorgänge bereitzustellen.
  • Mit der neuen UIAccessibilityCustomRotor Klasse kann die App benutzerdefinierte, kontextspezifische Funktionen für Hilfstechnologien wie Voice Over bereitstellen.
  • Verwenden Sie die UIAccessibilityIsAssistiveTouchRunning Symbole, UIAccessibilityAssistiveTouchStatusDidChangeNotification um zu bestimmen, ob AssistiveTouch aktiviert ist.
  • Verwenden Sie die UIAccessibilityHearingDevicePairedEar Symbole, UIAccessibilityHearingDevicePairedEarDidChangeNotification um den Status aller gekoppelten MFi-Hörgeräte zu erhalten.
  • Die neue UIPasteboard-API bietet neue Optionen (z. B. Lebensdauerbeschränkungen) und deklariert automatisch kompatible Inhaltstypen für allgemeine Klassentypen.
  • Zur Unterstützung des dynamischen Typs in Beschriftungen verwenden Textfelder und Textfelder die neue PreferredFontForTextStyle Methode der UIFont Klasse.
  • Um zu entscheiden, ob ein Element die Schriftart aktualisieren soll, wenn sich die Geräte UIContentSizeCategory ändern, verwenden Sie die AdjustsFontForContentSizeCategory Eigenschaft des UIContentSizeCategoryAdjusting Delegaten.
  • Die App kann nun die Darstellung des Badges für Registerkartenleistenelemente wie Text und Hintergrundfarbe steuern.
  • Das Aktualisierungssteuerelement wird jetzt in allen Bildlauf- und Bildlaufansichtsunterklassen unterstützt (z UICollectionView. B. ).
  • Die OpenURL Methode der UIApplication Klasse wird asynchron aufgerufen, unterstützt jetzt einen Abschlusshandler, der aufgerufen wird, nachdem das Öffnen abgeschlossen wurde.
  • Initiieren Sie die CloudKit-Freigabe, und ändern Sie die zugehörigen Eigenschaften mithilfe der neuen UICloudSharingController Und UICloudSharingControllerDelegate Klassen.
  • Nutzen Sie voreingestellte Zellen, um das Bildlauferlebnis UICollectionViews mit dem neuen UICollectionViewDataSourcePrefetching Delegat zu verbessern.