Dodatkowe zmiany struktury systemu macOS Sierra
Przyspieszanie rozszerzeń struktury
Wprowadzono następujące ulepszenia w przewodniku Accelerate Framework dla systemu macOS Sierra:
- Dodano ćwiartkę (całkowity rachunek).
- Dodano funkcje podstawowe do konstruowania sieci neuronowych.
- Dodano funkcje predykatu geometrycznego do testowania pod kątem takich rzeczy, jak przecięcie dwóch obiektów geometrycznych.
Ulepszenia struktury AppKit Framework
Wprowadzono następujące ulepszenia struktury AppKit Framework dla systemu macOS Sierra:
- Kilka ulepszeń,
NSCollectionView
takich jak:- Zwijane sekcje — umożliwia użytkownikowi zwinięcie sekcji Widok kolekcji do jednego wiersza poziomego.
- Nagłówki przestawne — nagłówki i stopki można teraz unosić (w układzie przepływu) przy użyciu tego samego interfejsu API co UICollectionView w systemie iOS.
- Przewijane widoki tła — tło widoków kolekcji można teraz ustawić tak, aby przewijać zawartość.
- Przekazywanie układu widoku odroczonego zostało zoptymalizowane i rozszerzone.
- Interfejs API przeciągania i upuszczania zawiera teraz nowe
NSFilePromiseProvider
klasy iNSFilePromiseReceiver
do obsługi przeciągania. - Do istniejących kontrolek dodano kilka konstruktorów wygody:
NSButton
zawiera nowe konstruktory do tworzenia przycisków push, pól wyboru i przycisków radiowych.NSTextField
zawiera nowe konstruktory do tworzenia etykiet zawijania i nieopakowującego, etykiet przypisanych i pól tekstowych edytowalnych.NSSegmentedControl
zawiera nowe konstruktory do tworzenia kontrolek segmentowanych z grupy etykiet lub obrazów.NSSlider
zawiera nowe konstruktory do tworzenia suwaków liniowych w poziomie.NSImageView
zawiera nowe konstruktory do tworzenia nieedytowalnych widoków obrazów na podstawie danegoNSImage
elementu .
- Nowy
NSGridView
został dodany do automatycznego układu kolekcji widoków podrzędnych do siatki ze zmiennymi rozmiarami wierszy i kolumn, które mogą być dynamicznie ukryte lub wyświetlane.
Ulepszenia struktury AVFoundation Framework
Wprowadzono następujące ulepszenia struktury AVFoundation Framework dla systemu macOS Sierra:
- W systemie macOS aplikacja nie musi już implementować 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. - Klasa
AVAssetDownloadURLSession
umożliwia pobieranie i późniejsze odtwarzanie zaszyfrowanych strumieni HLS FairPlay.
Podstawowe ulepszenia struktury danych
Wprowadzono następujące ulepszenia dotyczące podstawowej struktury danych dla systemu macOS Sierra:
- 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ćNSPersistentStoreCoordinator
się 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 struktury obrazów
Następujące ulepszenia zostały wprowadzone w przewodniku Core Image Framework dla systemu macOS Sierra:
- Metoda
ImageWithExtent
klasy 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.
- Jądro Obraz podstawowy może teraz zażądać określonego formatu danych wyjściowych pikseli.
- Dodano następujące nowe filtry obrazów:
CINinePartTitled
, ,CIEdgePreserveUpsampleFilter
CINinePartStretched
CIHueSaturationValueGradient
i .CIClamp
Ulepszenia struktury Foundation Framework
Wprowadzono następujące ulepszenia struktury Foundation Framework dla systemu macOS Sierra:
- Użyj interfejsu API NSDimentions do reprezentowania, konwertowania i wyświetlania wielu najczęściej używanych jednostek fizycznych, takich jak masa, długość, szybkość, czas trwania i temperatura.
- Użyj klasy NSISO8601DateFormatter do analizowania i generowania dat sformatowanych w formacie ISO 8601.
- 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.
- Użyj klasy NSPersonNameComponentsFormatter, aby przeanalizować elementy nazwy osoby z ciągu.
- Użyj nowej klasy NSURLSessionTaskMetrics , aby uzyskać metryki dla sesji sieciowej adresu URL.
Aby uzyskać więcej informacji, zobacz Informacje o wersji programu Apple Foundation dla systemów OS X w wersji 10.12 i iOS 10.
Ulepszenia struktury GameKit Framework
Wprowadzono następujące ulepszenia w programie GameKit Framework dla systemu macOS Sierra:
- Aplikacja Game Center została wycofana i usunięta z systemu macOS. Jeśli aplikacja używa zestawu GameKit, musi przedstawić własny interfejs do wyświetlania funkcji zestawu GameKit, takich jak rankingi itp.
- 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 struktury GamePlayKit
Wprowadzono następujące ulepszenia w programie GamePlayKit Framework dla systemu macOS Sierra:
- 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 struktury metalowej
Następujące ulepszenia zostały wprowadzone w systemie Metal Framework dla systemu macOS Sierra:
- 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 struktury we/wy modelu
Wprowadzono następujące ulepszenia dotyczące struktury we/wy modelu dla systemu macOS Sierra:
- 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 struktury zdjęć
W programie Photos Framework dla systemu macOS Sierra wprowadzono następujące ulepszenia:
- Edytowanie zdjęć na żywo jest teraz dostępne dla aplikacji, które obsługują strukturę Photos oraz rozszerzenia do edycji zdjęć (do użytku w aplikacjach Zdjęcia i Aparat).
- Użyj nowej klasy PHLivePhotoEditingContext , aby zastosować edycje zarówno do wideo, jak i zawartości live photos.
- Użyj klas CIImageProcessorInput i CIImageProcessorOutput, aby skorzystać z nowej funkcji procesora obrazów core do wykonywania edycji.
- Aby obsługiwać zdjęcia na żywo, klasy PHLivePhoto i PHLivePhotoView zostały przeniesione z systemu iOS do systemu macOS.
Ulepszenia platformy SceneKit
Wprowadzono następujące ulepszenia platformy SceneKit Framework dla systemu macOS Sierra:
- Teraz zawiera nowy system renderowania fizycznego (PBR) umożliwiający bardziej realistyczne wyniki 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 (
Diffuse
iMetalness
Roughness
). - 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 iSCNDisableWideGamut
w aplikacjiInfo.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 struktury zabezpieczeń
Wprowadzono następujące ulepszenia dotyczące struktury zabezpieczeń dla systemu macOS Sierra:
- Interfejs
SecKey
został zmodernizowany i ujednolicony na wszystkich platformach (iOS, tvOS, watchOS i macOS).
Ulepszenia struktury SpriteKit Framework
Wprowadzono następujące ulepszenia struktury SpriteKit Framework dla systemu macOS Sierra:
- Mapy kafelków obsługują teraz kształty kafelków kwadratowych, sześciokątnych i izometrycznych dla gier 2D, 2,5D i przewijania bocznego
SKTileMapMode
przy użyciu klas ,SKTileGroup
SKTileGroupRule
iSKTileSet
. - 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.
Nowe struktury
Następujące struktury zostały dodane do systemu macOS Sierra:
- Intents Framework — ta struktura umożliwia aplikacji analizowanie interakcji (takich jak akcje lokalizacji lub użytkownika) i podejmowanie działań na podstawie tych informacji.
- SafariServices Framework — ta struktura umożliwia aplikacji tworzenie rozszerzeń aplikacji dla przeglądarki Safari (takich jak blokowanie zawartości) zarówno dla systemów macOS, jak i iOS.