Freigeben über


Zusätzliche iOS 10 Frameworks-Änderungen

In diesem Artikel werden zusätzliche, kleinere Änderungen oder Verbesserungen für vorhandene Frameworks für iOS 10 behandelt.

Ergänzungen des AV Foundation-Frameworks

Das AVFoundation-Framework enthält die folgenden Verbesserungen:

  • In iOS 10 muss der Entwickler 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 AVCapturePhotoOutput-Klasse ersetzt die veraltete AVCaptureStillImageOutput Klasse und bietet eine einheitliche Methode für die Behandlung aller Fotoworkflows, indem sie anspruchsvolle Kontrolle und Überwachung des Aufnahmeprozesses und Unterstützung für neue Features wie Live Fotos und das RAW-Aufnahmeformat bereitstellt.
  • 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.
  • Standardmäßig unterstützt die AVCaptureSession-Klasse automatisch breitfarbige, breitformatige Aufnahme, wenn die Gerätehardware sie unterstützt. Weitere Informationen finden Sie in der iOS-Gerätekompatibilitätsreferenz von Apple.

AVKit-Ergänzungen

Das AVKit-Framework enthält jetzt die neue UpdatesNowPlayingInfoCenter Eigenschaft, die angibt, wann das Now Playing Info Center aktualisiert werden soll.

Kerndatenverbesserungen

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

  • 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.
  • Stammobjekte von NSManagedObjectContext unterstützen gleichzeitiges Fehlerhaftes und Abrufen ohne Serialisierung.
  • Die NSPersistentStoreCoordinator-Klasse Standard enthält einen Pool von SQLite-Datenspeichern.
  • Es wurden mehrere neue Komfortmethoden hinzugefügt, um NSManagedObject das Ausführen von Abrufen und Erstellen von Unterklassen zu vereinfachen.
  • Verwenden der allgemeinen EbeneNSPersistenceContainer, um auf das NSPersistentStoreCoordinatorNSManagedObjectModel und andere Core Data-Konfigurationsressourcen zu verweisen.

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

Kernbildverbesserungen

iOS 10 macht die folgenden Verbesserungen am Core Image Framework:

  • Der Entwickler kann bilder jetzt in einem Farbraum außerhalb des Arbeitsfarbraums des Core Image-Kontexts verarbeiten, indem er den Farbraum vor und nach der Verarbeitung in und aus dem Farbraum konvertiert.
  • Für iOS-Geräte, die die A8- oder A9-CPUs verwenden, wird das RAW-Bildformat jetzt unterstützt. Core Image bietet jetzt Unterstützung für die Decodierung von RAW-Bildern von der integrierten iSight-Kamera oder von einer Drittanbieterkamera. Verwenden Sie die FilterWithImageData METHODEN der FilterWithImageURLCIFilter-Klasse , um RAW-Bilder zu verarbeiten.
  • 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.
  • 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.

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

  • CINinePartTiled
  • CINinePartStretched
  • CIHueSaturationValueGradient
  • CIEdgePreserveUpsampleFilter
  • CIClamp

Core Motion Additions

Neu bei iOS 10 enthält das Core Motion-Framework Pedometerereignisse, mit denen eine App schnelle, Echtzeitbenachrichtigungen des Benutzers empfangen und die Nachverfolgung während der Ausführung fortsetzen kann. Verwenden Sie cmPedometer, um sich für Vordergrund- oder Hintergrund-Pedometerereignisse zu registrieren.

Foundation-Verbesserungen

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

  • Verwenden Sie die neue NSMeasurementFormatter-Klasse , um lokalisierte Maße für die Anzeige für den Endbenutzer zu formatieren.

  • 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 neue NSMeasurement-Klasse , um zwischen verschiedenen Maßeinheiten (UOM) zu konvertieren oder Berechnungen für Werte in verschiedenen UOMs durchzuführen.

  • Verwenden Sie die neuen NSUnit - und NSDimension-Klassen für die Darstellung bestimmter UOMs.

  • Der NSLocal-Klasse wurden mehrere neue Eigenschaften hinzugefügt, um lokale Informationen und die verfügbaren Anzeigeformate zu erhalten.

GameKit-Verbesserungen

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

  • Die Game Center-App wurde veraltet und aus iOS 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, zu implementieren, 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 iOS 10 vorgenommen:

  • Verwenden Sie die neue GKMeshGraph-Klasse , um leistungsstarke, natürliche Pfade bereitzustellen.
  • 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.
  • Die 3D-Unterstützung wurde vorhandenen Agent- und Pfadsucheverhalten mithilfe der neuen GKAgent3D - und GKGraphNode3D-Klassen hinzugefügt.
  • Die neuen Klassen GKScene und GKSKNodeComponent machen die Kombination von GameplayKit und SpriteKit einfacher denn je.
  • Es wurde eine neue Entscheidungsstruktur-API (GKDecisionTree und GKDecisionNode) hinzugefügt, um die KI-Entwicklung des Spiels zu verbessern.

HealthKit-Verbesserungen

Die folgenden Verbesserungen wurden am HealthKit-Framework in iOS 10 vorgenommen:

  • Es wurden neue Metadatenschlüssel für Wettertypen (z HKWeatherConditionClear . B. und HKWeatherConditionCloudy) hinzugefügt und Trainingstypen (z HKWorkoutActivityTypeFlexibility . B. und HKWorkoutActivityTypeWheelchairRunPace) hinzugefügt.
  • Die neue HKCDADocument Klasse wurde hinzugefügt, um ein cdA-formatiertes Dokument (Clinical Document Architecture) darzustellen.
  • Verwenden Sie die neue HKWorkoutConfiguration-Klasse , um das ActivityType Und LocationType des Trainings anzugeben.
  • Das neue HKWheelchairUseObject und die WheelchairUse Methode der HKHealthStore-Klasse wurden für die Arbeit mit rollstuhlbezogenen Gesundheitsdaten hinzugefügt.

HomeKit-Verbesserungen

Die folgenden Verbesserungen wurden am HomeKit-Framework in iOS 10 vorgenommen:

  • Neue Dienste und Merkmale wurden hinzugefügt.
  • Ein iPad kann so konfiguriert werden, dass er als HomeKit Hub fungiert, um Remotezubehörzugriff bereitzustellen, Automatisierungstrigger auszuführen und freigegebene Benutzerberechtigungen zu aktivieren.
  • Unterstützung für Kamera- und Türglockenzubehör wurde hinzugefügt.
  • Für Zubehör wurden weitere Kontext- und Konfigurationen bereitgestellt.

Weitere Informationen finden Sie in unserer Einführung in die HomeKit-Dokumentation .

Metallverbesserungen

Die folgenden Verbesserungen wurden am Metal-Framework in iOS 10 vorgenommen:

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

Weitere Informationen finden Sie im Apple Metal Programming Guide.

ModelIO-Verbesserungen

Die folgenden Verbesserungen wurden am ModelIO-Framework in iOS 10 vorgenommen:

  • Das USD-Dateiformat wird jetzt unterstützt.
  • 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.
  • Verwenden Sie die neue MDLMaterialPropertyGraph Klasse, um Laufzeitänderungen an Modellen auf einfache Weise zu unterstützen.

Fotos Verbesserungen

Die folgenden Verbesserungen wurden am Fotos Framework in iOS 10 vorgenommen:

  • Verwenden Sie die KLASSEN CIImageProcessorInput und CIImageProcessorOutput , um das neue Core Image Processor Feature zum Ausführen von Bearbeitungen zu nutzen.
  • 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.

ReplayKit-Verbesserungen

Die folgenden Verbesserungen wurden am ReplayKit-Framework in iOS 10 vorgenommen:

SceneKit-Verbesserungen

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

  • 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 fillmatische Effekte hinzuzufügen.
  • 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 einer ganzen Szene zuzuweisen.
  • Verwenden Sie die IESProfileURL Eigenschaft, um reale Lichtinstallationen zu importieren, die Beleuchtung basierend auf realen Werten wie Intensität (in Lumen) und Farbtemperatur (in Grad Kelvin) definieren.
  • 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.
  • 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.
  • Da SceneKit Farbprofilinformationen in Texturbildern liest und anpasst, verwenden Sie Objektkataloge für alle Bilder, um sicherzustellen, dass diese Informationen bereitgestellt werden.

SpriteKit-Verbesserungen

Die folgenden Verbesserungen wurden am SpriteKit-Framework in iOS 10 vorgenommen:

  • 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.
  • 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.
  • Die SKView-Klasse bietet mehrere neue Methoden, um präzise Kontrolle darüber zu geben, wann und wie eine Szene gerendert wird.

ScrollView-Verbesserungen

Die folgenden Verbesserungen wurden am ScrollView-Steuerelement in iOS 10.3 vorgenommen:

  • UIScrollView Fügen Sie nun die IndexDisplayMode Eigenschaft hinzu, um zu steuern, wie der Index angezeigt wird, während der Benutzer einen Bildlauf durchführt UIScrollViewIndexDisplayMode :
    • Automatic - Die Indexanzeige wird vom Betriebssystem gesteuert.
    • AlwaysHidden - Die Indexanzeige ist immer ausgeblendet.

UIKit-Verbesserungen

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

  • Die neue UIPasteboard-API bietet neue Optionen (z. B. Lebensdauerbeschränkungen) und deklariert automatisch kompatible Inhaltstypen für allgemeine Klassentypen.
  • Neue vollständig interaktive, objektbasierte, unterbrechungsfähige Animationsunterstützung wurde hinzugefügt und kann mit Gesten verknüpft werden. Weitere Informationen finden Sie in der UIViewAnimating-Protokollreferenz, UIViewPropertyAnimator-Klassenreferenz, UITimingCurveProvider-Protokollreferenz, UICubicTimingParameters-Klassenreferenz und UISpringTimingParameter-Klassenreferenz.
  • Die neue UIPreviewInteraction und UIPreviewInteractionDelegate ermöglichen es der Entwickler-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.
  • 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 seine Schriftart aktualisieren soll, wenn sich das Gerät UIContentSizeCategory ändert, verwenden Sie die AdjustsFontForContentSizeCategory Eigenschaft des UIContentSizeCategoryAdjusting Delegaten.
  • Die OpenURL Methode der UIApplication Klasse wird asynchron aufgerufen und unterstützt jetzt einen Abschlusshandler, der aufgerufen wird, nachdem die geöffnete Aktion 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.
  • Der Entwickler kann nun die Darstellung des Badges für Registerkartenleistenelemente (z. B. Text und Hintergrundfarbe) steuern.
  • Das Aktualisierungssteuerelement wird jetzt in allen Bildlauf- und Bildlaufansichtsunterklassen unterstützt (z UICollectionView. B. ).

WebKit-Verbesserungen

Die folgenden Verbesserungen wurden am WebKit-Framework in iOS 10 vorgenommen:

  • Vorschau- und Popunterstützung wurde der WKWebView Klasse hinzugefügt. Verwenden Sie die ShouldPreviewElement Methode, um zu ermitteln, ob eine bestimmte Webansicht eine Vorschau anzeigen soll.