Další změny architektury macOS Sierra
Zrychlení vylepšení architektury
V rámci architektury Zrychlení pro macOS Sierra jsme provedli následující vylepšení:
- Přidání kvadratury (integrální kalkulus).
- Přidání základních funkcí pro vytváření neurálních sítí
- Přidali jsme geometrické predikátové funkce pro testování věcí, jako je průsečík dvou geometrických objektů.
Vylepšení architektury AppKit
V rozhraní AppKit Framework pro macOS Sierra jsme provedli následující vylepšení:
- Několik vylepšení,
NSCollectionView
například:- Sbalitelné oddíly – Umožňuje uživateli sbalit oddíl Zobrazení kolekce do jednoho vodorovného řádku.
- Plovoucí záhlaví – Záhlaví a zápatí teď můžou být plovoucí (v rozložení toku) pomocí stejného rozhraní API jako UICollectionView v iOSu.
- Posuvná zobrazení pozadí – Pozadí zobrazení kolekce je teď možné nastavit tak, aby se s obsahem posouvat.
- Odložené rozložení zobrazení bylo optimalizováno a rozšířeno.
- Rozhraní API pro přetažení teď obsahuje nové
NSFilePromiseProvider
třídy aNSFilePromiseReceiver
podporuje přetahování myší. - Do existujících ovládacích prvků bylo přidáno několik konstruktorů pohodlí:
NSButton
obsahuje nové konstruktory pro vytváření tlačítek, zaškrtávacích políček a přepínačů.NSTextField
obsahuje nové konstruktory pro vytváření obtékání a popisků bez obtékání, přiřazených popisků a upravitelných textových polí.NSSegmentedControl
obsahuje nové konstruktory pro vytváření segmentovaných ovládacích prvků ze skupiny popisků nebo obrázků.NSSlider
obsahuje nové konstruktory pro vytváření vodorovných lineárních posuvníků.NSImageView
obsahuje nové konstruktory pro vytváření needitovatelných zobrazení obrázků z danéhoNSImage
objektu .
- Novinka
NSGridView
byla přidána k automatickému rozložení kolekce dílčích zobrazení do mřížky s řádky a sloupci s proměnlivou velikostí, které lze dynamicky skrýt nebo zobrazit.
Vylepšení architektury AVFoundation
V rozhraní AVFoundation Framework pro macOS Sierra jsme provedli následující vylepšení:
- V systému macOS už aplikace nemusí implementovat různé chování AVPlayerItem na základě typu obsahu. Jednoduše nastavte
Rate
vlastnost a AVFoundation určí, kdy je k dispozici dostatek obsahu pro přehrávání bez zastavení. - Nová
AVPlayerLooper
třída usnadňuje smyčku daného média během přehrávání. - Třída
AVAssetDownloadURLSession
umožňuje stahování a pozdější přehrávání streamů HLS šifrovaných FairPlay.
Vylepšení základní datové architektury
V rozhraní Core Data Framework pro macOS Sierra jsme provedli následující vylepšení:
- Kořenové objekty NSManagedObjectContext podporují souběžné chybování a načítání bez serializace.
- NSPersistentStoreCoordinator třída udržuje fond úložišť dat SQLite.
- Objekty NSManagedObjectContext s úložišti dat SQLite v režimu DENÍKU WAL podporují novou funkci generování dotazů, ve které je možné připnout kontexty spravovaného objektu (MOC) ke konkrétním verzím databáze pro budoucí načítání a chybující transakce.
- Použití vysoké úrovně
NSPersistenceContainer
k odkazování naNSPersistentStoreCoordinator
, NSManagedObjectModel a další základní datové konfigurační prostředky. - Bylo přidáno několik nových metod usnadnění, které
NSManagedObject
usnadňují načítání a vytváření podtříd.
Další informace najdete v referenčních informacích k rozhraní Core Data Framework společnosti Apple.
Vylepšení architektury základních imagí
V rozhraní Core Image Framework pro macOS Sierra jsme provedli následující vylepšení:
ImageWithExtent
Metoda CIFilter třídy lze použít k vložení vlastního zpracování do operace filtru. Základní image vyvolá dané zpětné volání mezi filtry při zpracování obrázku pro výstup nebo zobrazení.- Aplikace teď může zpracovávat obrázky v barevném prostoru mimo pracovní barevný prostor v kontextu základního obrázku tím, že před zpracováním a po zpracování převede barevný prostor do a z barevného prostoru.
- Jádro Core Image teď může požadovat konkrétní formát výstupu pixelu.
- Byly přidány následující nové filtry obrázků:
CINinePartTitled
,CINinePartStretched
,CIHueSaturationValueGradient
CIEdgePreserveUpsampleFilter
aCIClamp
.
Vylepšení architektury Foundation Framework
V rámci foundation Framework pro macOS Sierra jsme provedli následující vylepšení:
- Rozhraní API NSDimentions slouží k reprezentaci, převodu a zobrazení mnoha nejběžnějších fyzických jednotek, jako jsou hmotnost, délka, rychlost, doba trvání a teplota.
- K analýze a generování formátovaných kalendářních dat ISO 8601 použijte třídu NSISO8601DateFormatter.
- Pomocí nové třídy NSDateInterval můžete provádět výpočty kalendářních a časových intervalů, jako jsou doby trvání, pro porovnání intervalů a testování pro průniky intervalů.
- Pomocí NSPersonNameComponentsFormatter třída parsovat prvky jména osoby z řetězce.
- Pomocí nové třídy NSURLSessionTaskMetrics získejte metriky pro síťovou relaci adresy URL.
Další informace najdete v poznámkách k verzi pro OS X v10.12 a iOS 10 od Společnosti Apple.
Vylepšení architektury GameKit
V rozhraní GameKit Framework pro macOS Sierra jsme provedli následující vylepšení:
- Aplikace Game Center je zastaralá a odebraná z macOS. Pokud aplikace používá GameKit, musí prezentovat vlastní rozhraní pro zobrazení funkcí GameKitu, jako jsou tabulky výsledků atd.
- Nový typ účtu jen pro iCloud byl implementován třídou GKCloudPlayer .
- Nová třída GKGameSession poskytuje generalizované řešení pro správu trvalého úložiště dat v Game Center.
GKGameSession
udržuje seznam hráčů a aplikace zodpovídá za implementaci způsobu uložení, načtení nebo výměny data účastníka mezi hráči. V mnoha případech herní relace můžou nahradit stávající shody založené na turn-time, shody v reálném čase nebo trvalé metody ukládání her.
Vylepšení architektury GamePlayKit
V rozhraní GamePlayKit Framework pro macOS Sierra jsme provedli následující vylepšení:
- Byla přidána procedurální generace šumu a lze ji použít k vylepšení realismu v přírodních texturách, přidat realismus k pohybům kamery a pomoci generovat bohaté herní světy.
- Pomocí prostorového dělení rozdělte data herního světa k efektivnímu vyhledávání.
- Byl přidán nový monte carlo strategist (GKMonteCarloStrategist) pro vyčerpávající možné výpočty přesunutí.
- Přidali jsme nové rozhraní API rozhodovacího stromu (GKDecisionTree a GKDecisionNode), které vylepšuje rozhraní AI pro vytváření her.
- Podpora 3D byla přidána do existujícího agenta a chování hledání cest pomocí nových tříd GKAgent3D a GKGraphNode3D .
- Pomocí nové třídy GKMeshGraph můžete poskytovat vysoce výkonné a přirozeně vypadající cesty.
- Nové třídy GKScene a GKSKNodeComponent usnadňují kombinování Sady GameplayKit a SpriteKit.
Vylepšení kovové architektury
V rámci metalového rozhraní pro macOS Sierra jsme provedli následující vylepšení:
- 3D aplikace a hry teď Můžou pomocí Tessellation efektivně vykreslovat složité scény a geometrii prostřednictvím GPU.
- Pomocí specializace funkcí můžete vytvořit vysoce optimalizovanou kolekci materiálových a lehkých kombinovaných funkcí pro scénu.
- Poskytuje jemně odstupňovanou kontrolu nad přidělováním prostředků za účelem optimalizace výkonu aplikací založených na kovu pomocí heaps prostředků a cílů vykreslování bez paměti.
Další informace najdete v průvodci programováním kovu společnosti Apple.
Vylepšení architektury vstupně-výstupních operací modelu
V modelu I/O Framework pro macOS Sierra jsme provedli následující vylepšení:
- Formát souboru USD je nyní podporován.
- Pomocí nové
MDLMaterialPropertyGraph
třídy můžete snadno podporovat změny modulu runtime v modelech. - Podpora Pole podepsané vzdálenosti byla přidána do třídy MDLVoxelArray .
- Pomocí nové
MDLLightProbeIrradianceDataSource
třídy můžete pomoct s umístěním light sondy.
Vylepšení architektury Photos
V rozhraní Photos Framework pro macOS Sierra jsme provedli následující vylepšení:
- Úpravy živých fotek jsou teď dostupné pro aplikace, které podporují architekturu Fotky a rozšíření pro úpravy fotek (pro použití v aplikacích Fotky a Kamera).
- Pomocí nové PHLivePhotoEditingContext třídy použít úpravy jak na video, tak i na obsah Live Photos.
- Pomocí tříd CIImageProcessorInput a CIImageProcessorOutput můžete využít novou funkci procesoru Core Image k provádění úprav.
- Pro podporu Live Photos byly třídy PHLivePhoto a PHLivePhotoView portovány z iOS do macOS.
Vylepšení architektury SceneKit
V rozhraní SceneKit pro macOS Sierra jsme provedli následující vylepšení:
- Nyní obsahuje nový systém pro vykreslování na základě fyzického rozhraní (PBR) pro realističtější výsledky s jednodušším vytvářením prostředků.
- Pomocí nového modelu stínování SCNLightingModelPhyslyBased můžete produktovat širokou škálu realistických stínování efektů a současně vyžadovat pouze tři základní vlastnosti (
Diffuse
Metalness
aRoughness
). - Vzhledem k tomu, že stínování PBR funguje nejlépe s osvětlením na základě prostředí, použijte
LightingEnvironment
vlastnost k přiřazení osvětlení založeného na obrázku k tan celé scéně. - Použijte vlastnost k importu
IESProfileURL
reálných světelných zařízení, která definují osvětlení na základě hodnot reálného světa, jako je intenzita (v lumenech) a teplota barev (ve stupních Kelvin). - SCN Kamera třída může poskytovat větší realismus pomocí funkcí a efektů HDR. Adaptivní expozice umožňuje vytvářet automatické efekty nebo používat vignetting, color fringing a color grading k přidání filmatických efektů do hry.
- Funkce kamery PBR i HDR poskytují lepší výsledky než tradiční techniky vykreslování a v důsledku toho sceneKit nyní provádí všechny barevné výpočty v lineárním barevném prostoru (pomocí barevného gamutu P3 na širokobarevných displejích zařízení).
- Sada SceneKit teď barevně odpovídá všem barvám tím, že čte informace o profilu barev.
- SceneKit interpretuje hodnoty barevných komponent v lineárním barevném prostoru RGB pro všechny typy shaderu.
- Vzhledem k tomu, že SceneKit čte a upravuje informace o barevném profilu v obrázcích textury, použijte katalogy assetů pro všechny obrázky, abyste zajistili, že jsou tyto informace k dispozici.
- Vykreslování lineárního barevného prostoru i široké barvy je možné zakázat zadáním
SCNDisableLinearSpaceRendering
aSCNDisableWideGamut
klíčů v aplikaciInfo.plist
. - Sestavení libovolných mnohoúhelníkových primátů (buď načtených ze souborů nebo vygenerovaných programově), aby bylo možné určit geometrii pomocí nové třídy SCNGeometryPrimitiveTypePolygon .
Vylepšení architektury zabezpečení
Pro architekturu zabezpečení pro macOS Sierra jsme provedli následující vylepšení:
- Rozhraní
SecKey
bylo modernizováno a sjednoceno na všech platformách (iOS, tvOS, watchOS a macOS).
Vylepšení architektury SpriteKit
V rozhraní SpriteKit Framework pro macOS Sierra jsme provedli následující vylepšení:
- Mapy dlaždic nyní podporují čtvercové, šestnáctkové a izometrické obrazce dlaždic pro 2D, 2,5D a boční posouvání hry pomocí
SKTileMapMode
SKTileGroup
SKTileGroupRule
, aSKTileSet
tříd. - Pomocí nové
SKWarpGeometry
třídy můžete roztáhnout nebo zkreslit vykreslování SKSpriteNode nebo SKEffectNode . Novou třídu SKAction lze použít k animaci přechodů mezi efekty warp. - Vlastní shadery můžou poskytovat atributy (
SKAttribute
), které je možné konfigurovat samostatně jednotlivými uzly, které používají shader zadáním hodnoty atributu (SKAttributeValue
). - SkView třída poskytuje několik nových metod, které poskytují jemně odstupňovanou kontrolu nad tím, kdy a jak se scéna vykresluje.
Nové architektury
Do macOS Sierra byly přidány následující architektury:
- Architektura záměrů – Tato architektura umožňuje aplikaci zkoumat interakce (například umístění nebo akce uživatelů) a provádět akce na základě těchto informací.
- Architektura SafariServices – Tato architektura umožňuje aplikaci vyvíjet rozšíření aplikací pro Safari (například blokátory obsahu) pro macOS i iOS.