Udostępnij za pośrednictwem


Dodatkowe zmiany struktury systemu tvOS 10

Oprócz istotnych zmian w systemie tvOS firma Apple wprowadziła modyfikacje i ulepszenia kilku istniejących struktur w systemie tvOS 10.

Dodatki struktury AVFoundation

Struktura AVFoundation obejmuje następujące ulepszenia:

  • W systemie tvOS 10 aplikacja nie implementuje już różnych zachowań AVPlayerItem na podstawie typu zawartości. Po prostu ustaw Rate właściwość i AVFoundation określi, kiedy wystarczająca ilość zawartości jest dostępna do odtwarzania bez wstrzymania.
  • Nowa AVPlayerLooper klasa ułatwia zapętlenie danego fragmentu nośnika podczas odtwarzania.

Ulepszenia struktury AVKit Framework

Struktura AVKit zawiera następujące ulepszenia:

  • Aplikacja ma teraz kontrolę nad zachowaniem pomijania elementu AVPlayerViewController , więc gest pomijania może przejść do następnego elementu na liście odtwarzania lub przejść do bieżącego elementu.

Ulepszenia podstawowych danych

System tvOS 10 zawiera następujące ulepszenia struktury danych podstawowych:

  • Główne obiekty NSManagedObjectContext obsługują współbieżne błędy i pobieranie bez serializacji.
  • Klasa NSPersistentStoreCoordinator obsługuje pulę magazynów danych SQLite.
  • Obiekty NSManagedObjectContext z magazynami danych SQLite w trybie dziennika WAL obsługują nową funkcję generowania zapytań, w której konteksty obiektów zarządzanych (MOC) można przypiąć do określonych wersji bazy danych na potrzeby przyszłych transakcji pobierania i błędów.
  • Korzystając z wysokiego poziomu NSPersistenceContainer , aby odwołać NSPersistentStoreCoordinatorsię do , NSManagedObjectModel i innych podstawowych zasobów konfiguracji danych.
  • Dodano kilka nowych metod wygody, aby NSManagedObject ułatwić pobieranie i tworzenie podklas.

Aby uzyskać więcej informacji, zobacz Dokumentację podstawowej struktury danych firmy Apple.

Podstawowe ulepszenia grafiki

System tvOS 10 zawiera następujące ulepszenia struktury grafiki Core:

  • Nowa klasa CGColorConverterRef może służyć do wykonywania serii konwersji kolorów.

Ulepszenia obrazów podstawowych

System tvOS 10 wprowadza następujące ulepszenia w strukturze obrazów podstawowych:

  • Metoda ImageWithExtentklasy CIFilter może służyć do wstawiania niestandardowego przetwarzania do operacji filtrowania. Obraz podstawowy wywoła daną wywołanie zwrotne między filtrami podczas przetwarzania obrazu dla danych wyjściowych lub wyświetlania.
  • Aplikacja może teraz przetwarzać obrazy w przestrzeni kolorów poza obszarem roboczym kontekstu obrazu podstawowego, konwertując i wychodząc z przestrzeni kolorów przed i po przetworzeniu.
  • Wprowadzono kilka ulepszeń wydajności renderowania w celu UIImage renderowania (w przypadku przechowywania obrazów podstawowych obrazów) w UIImageView obiektach.
  • UIImage obiekty oznaczone szeroką gamą będą renderowane jako szeroki kolor UIImageView w obiektach na urządzeniach z systemem iOS, które obsługują szeroki kolor.
  • Kod jądra obrazu podstawowego może teraz żądać określonych formatów danych wyjściowych pikseli.

Ponadto dodano następujące nowe filtry obrazów podstawowych:

  • CINinePartTiled
  • CINinePartStretched
  • CIHueSaturationValueGradient
  • CIEdgePreserveUpsampleFilter
  • CIClamp

Ulepszenia podstaw

Wprowadzono następujące ulepszenia platformy Foundation dla systemu tvOS 10:

  • Użyj nowej klasy NSDateInterval , aby wykonać obliczenia interwału daty i godziny, takie jak czasy trwania, do porównywania interwałów i testowania pod kątem przecięcia interwałów.
  • Do klasy NSLocal dodano kilka nowych właściwości w celu uzyskania informacji lokalnych i dostępnych formatów wyświetlania.
  • Użyj nowej klasy NSMeasurement , aby przekonwertować różne jednostki miary (UOM) lub wykonać obliczenia na wartości w różnych UOM.
  • Użyj nowej klasy NSMeasurementFormatter , aby sformatować zlokalizowane miary do wyświetlania użytkownikowi końcowemu.
  • Użyj nowych klas NSUnit i NSDimension do reprezentowania określonych UOM.

Ulepszenia zestawu GameKit

Następujące ulepszenia zostały wprowadzone w strukturze GameKit w systemie tvOS 10:

  • Nowy typ konta tylko w usłudze iCloud został zaimplementowany przez klasę GKCloudPlayer .
  • Nowa klasa GKGameSession udostępnia uogólnione rozwiązanie do zarządzania trwałym magazynem danych w usłudze Game Center. GKGameSession Utrzymuje listę graczy, a aplikacja jest odpowiedzialna za implementację sposobu i czasu przechowywania daty uczestnika, pobierania lub wymiany między graczami. W wielu przypadkach sesje gier mogą zastąpić istniejące mecze oparte na kolei, mecze w czasie rzeczywistym lub trwałe metody zapisywania gier.

Ulepszenia zestawu rozgrywkowego

Następujące ulepszenia zostały wprowadzone w strukturze GameplayKit w systemie tvOS 10:

  • Dodano generowanie szumów proceduralnych i może służyć do zwiększenia realizmu w naturalnych teksturach, dodać realizm do ruchów kamer i pomóc w generowaniu bogatych światów gier.
  • Partycjonowanie przestrzenne umożliwia partycjonowanie danych świata gry w celu wydajnego wyszukiwania.
  • Dodano nowego stratega Monte Carlo (GKMonteCarloStrategist) w celu uzyskania wyczerpujących możliwych obliczeń przenoszenia.
  • Dodano nowy interfejs API drzewa decyzyjnego (GKDecisionTree i GKDecisionNode), aby ulepszyć sztuczną inteligencję tworzenia gier.
  • Obsługa 3D została dodana do istniejących zachowań agenta i znajdowania ścieżek przy użyciu nowych klas GKAgent3D i GKGraphNode3D .
  • Użyj nowej klasy GKMeshGraph , aby zapewnić ścieżki o wysokiej wydajności, naturalnie wyglądające.
  • Nowe klasy GKScene i GKSKNodeComponent ułatwiają łączenie zestawów Rozgrywki i SpriteKit niż kiedykolwiek.

Ulepszenia systemu operacyjnego

Wprowadzono następujące ulepszenia platformy Metal w systemie tvOS 10:

  • Aplikacje i gry 3D mogą teraz używać tessellation do wydajnego renderowania złożonych scen i geometrii za pośrednictwem procesora GPU.
  • Użyj specjalizacji funkcji, aby utworzyć wysoce zoptymalizowaną kolekcję funkcji kombinacji materiału i światła dla sceny.
  • Zapewnij szczegółową kontrolę nad alokacją zasobów, aby zoptymalizować wydajność aplikacji opartych na systemie Metal przy użyciu sterty zasobów i obiektów docelowych renderowania bez pamięci.

Aby dowiedzieć się więcej, zobacz Podręcznik programowania metalowego firmy Apple.

Ulepszenia cieniowania wydajności metali

W systemie tvOS 10 wprowadzono następujące ulepszenia w strukturze Cieniowania wydajności systemu Metal:

  • Do struktury Cieniowania wydajności metali dodano wiele nowych jąder, aby umożliwić aplikacji korzystanie z obliczeń o wysokiej optymalizacji równoległych danych, takich jak konwersje przestrzeni kolorów i operacje sieci neuronowej.

Ulepszenia modeluIO

Następujące ulepszenia zostały wprowadzone w strukturze ModelIO w systemie tvOS 10:

  • Format pliku USD jest teraz obsługiwany.
  • Użyj nowej MDLMaterialPropertyGraph klasy, aby łatwo obsługiwać zmiany środowiska uruchomieniowego w modelach.
  • Obsługa pola z podpisem została dodana do klasy MDLVoxelArray .
  • Użyj nowej MDLLightProbeIrradianceDataSource klasy, aby pomóc w umieszczaniu sondy światła.

Ulepszenia zestawu ScenKit

Następujące ulepszenia zostały wprowadzone w strukturze SceneKit w systemie tvOS 10:

  • Zestaw SceneKit zawiera teraz nowy system renderowania fizycznego (PBR) w celu uzyskania bardziej realistycznych wyników z prostszym tworzeniem zasobów.
  • Użyj nowego modelu cieniowania SCNLightingModelPhysicallyBased , aby zapewnić szeroką gamę realistycznych efektów cieniowania, jednocześnie wymagając tylko trzech podstawowych właściwości (Diffusei MetalnessRoughness).
  • Ponieważ cieniowanie PBR działa najlepiej w przypadku oświetlenia opartego na środowisku, użyj LightingEnvironment właściwości , aby przypisać oświetlenie oparte na obrazach do opalania całej sceny.
  • IESProfileURL Użyj właściwości , aby zaimportować rzeczywiste oprawy światła, które definiują oświetlenie oparte na rzeczywistych wartościach, takich jak intensywność (w światłach) i temperatura koloru (w stopniach Kelvin).
  • Klasa SCN Aparat może zapewnić większy realizm przy użyciu funkcji i efektów HDR. Użyj adaptacyjnej ekspozycji, aby tworzyć efekty automatyczne lub używać winietowania, frędowania kolorów i klasyfikacji kolorów, aby dodać efekty filmowe do gry.
  • Funkcje aparatu PBR i HDR zapewniają lepsze wyniki niż tradycyjne techniki renderowania, a w rezultacie zestaw SceneKit wykonuje teraz wszystkie obliczenia kolorów w liniowej przestrzeni kolorów (przy użyciu gamy kolorów P3 na wyświetlaczach urządzenia w szerokim kolorze).
  • Zestaw sceny jest teraz zgodny ze wszystkimi kolorami, odczytując informacje o profilu kolorów.
  • Zestaw SceneKit interpretuje wartości składników kolorów w liniowej przestrzeni kolorów RGB dla wszystkich typów cieniowania.
  • Ponieważ zestaw SceneKit odczytuje i dostosowuje informacje o profilu kolorów na obrazach tekstur, użyj katalogów zasobów dla wszystkich obrazów, aby upewnić się, że te informacje są dostarczane.
  • Renderowanie przestrzeni kolorów liniowych i kolor szeroki można wyłączyć, określając SCNDisableLinearSpaceRendering klucze i SCNDisableWideGamut w aplikacji Info.plist.
  • Utwórz dowolne wielokątne naczelne (ładowane z plików lub generowane programowo), aby określić geometrię przy użyciu nowej klasy SCNGeometryPrimitiveTypePolygon .

Ulepszenia zestawu SpriteKit

Następujące ulepszenia zostały wprowadzone w strukturze SpriteKit w systemie tvOS 10:

  • Mapy kafelków obsługują teraz kształty kafelków kwadratowych, sześciokątnych i izometrycznych dla gier 2D, 2,5D i przewijania bocznego SKTileMapModeprzy użyciu klas , SKTileGroupSKTileGroupRule i SKTileSet .
  • Użyj nowej SKWarpGeometry klasy, aby rozciągnąć lub zniekształcić renderowanie SKSpriteNode lub SKEffectNode . Nowa klasa SKAction może służyć do animowania przejść między efektami warp.
  • Niestandardowe cieniowania mogą udostępniać atrybuty (SKAttribute), które można skonfigurować oddzielnie przez każdy węzeł używający cieniowania, podając wartość atrybutu (SKAttributeValue).
  • Klasa SKView udostępnia kilka nowych metod, które zapewniają szczegółową kontrolę nad tym, kiedy i jak scena jest renderowana.

Ulepszenia zestawu UIKit

Następujące ulepszenia zostały wprowadzone w strukturze UIKit w systemie tvOS 10:

  • Interfejs API fokusu został rozszerzony w celu obsługi fokusu elementu nieoglądanego oprócz UIViewselementu . Elementy obsługujące fokus muszą implementować IUIFocusItem interfejs.
  • Nowa UIGraphicsRender klasa udostępnia obiektową metodę tworzenia map bitowych lub plików PDF z renderowania UIKit lub grafiki core i zastępuje przestarzałą UIGraphicsBeginImageContext metodę.
  • Dodano klasę UIUserInterfaceStyle w celu określenia, który motyw interfejsu użytkownika (ciemny lub jasny) jest obecnie aktywny.
  • Dodano nową w pełni interaktywną, opartą na obiektach obsługę animacji przerywanej, a furgonetka jest połączona z gestami. Aby uzyskać więcej informacji, zobacz Odwołanie do protokołu UIViewAnimating firmy Apple, UIViewPropertyAnimator Class Reference, UITimingCurveProvider Protocol Reference, UICubicTimingParameters Class Reference and UISpringTimingParameter Class Reference (Dokumentacja klasy UICubicTimingParameter) i UISpringTimingParameter Class Reference (Dokumentacja klasy UICubicTimingParameters).
  • Nowe UIPreviewInteraction i UIPreviewInteractionDelegate umożliwiają aplikacji udostępnianie interfejsu niestandardowego do wyświetlania i wyświetlania operacji pop.
  • Nowa UIAccessibilityCustomRotor klasa umożliwia aplikacji udostępnianie niestandardowych, specyficznych dla kontekstu funkcji ułatwiania obsługi technologii, takich jak Voice Over.
  • UIAccessibilityIsAssistiveTouchRunning Użyj symboli iUIAccessibilityAssistiveTouchStatusDidChangeNotification, aby określić, czy funkcja AssistiveTouch jest włączona.
  • UIAccessibilityHearingDevicePairedEar Użyj symboli iUIAccessibilityHearingDevicePairedEarDidChangeNotification, aby uzyskać stan wszystkich sparowanych aparatów słuchowych MFi.
  • Nowy interfejs API UIPasteboard udostępnia nowe opcje (takie jak ograniczenia okresu istnienia) i automatycznie deklaruje zgodne typy zawartości dla typowych typów klas.
  • Aby obsługiwać typ dynamiczny w etykietach, pola tekstowe i pola tekstowe używają nowej PreferredFontForTextStyle metody UIFont klasy.
  • Aby zdecydować, czy element powinien zaktualizować czcionkę, gdy zmienią się urządzenia UIContentSizeCategory , użyj AdjustsFontForContentSizeCategory właściwości delegata UIContentSizeCategoryAdjusting .
  • Aplikacja może teraz kontrolować wygląd znaczka dla elementów paska kart, takich jak tekst i kolor tła.
  • Kontrolka Odświeżanie w systemie jest teraz obsługiwana we wszystkich podklasach widoku przewijania i widoku przewijania (takich jak UICollectionView).
  • OpenURL Metoda UIApplication klasy jest wywoływana asynchronicznie obsługuje teraz program obsługi uzupełniania, który jest wywoływany po zakończeniu otwierania.
  • Zainicjuj udostępnianie zestawu CloudKit i zmodyfikuj jego właściwości przy użyciu nowych UICloudSharingController klas i UICloudSharingControllerDelegate .
  • Skorzystaj z wstępnie pobranych komórek, aby poprawić środowisko przewijania UICollectionViews nowego delegata UICollectionViewDataSourcePrefetching .