Další změny architektury macOS Sierra

Zrychlení vylepšení architektury

V rámci akcelerované architektury pro aplikace byly provedeny následující macOS Sierra:

  • Přidání kvadratury (integrální kalkulus)
  • Přidání základních funkcí pro vytváření neurálních sítí
  • Přidání geometrických predikátových funkcí pro testování například průniku dvou geometrických objektů

Vylepšení architektury AppKit

Rozhraní AppKit Framework for macOS Sierra:

  • Několik NSCollectionView vylepšení, například:
    • Sbalitelné oddíly – Umožňuje uživateli sbalit oddíl Zobrazení kolekce do jednoho vodorovného řádku.
    • Plovoucí hlavičky – Záhlaví a zápatí je teď možné s plovoucí desetinnou čárkou (v rozložení toku) používat stejné rozhraní API jako UICollectionView v iOSu.
    • Posouvání zobrazení na pozadí – Pozadí zobrazení kolekce je teď možné nastavit tak, aby se posouváním společně s obsahem.
  • Odložené předání rozložení zobrazení bylo optimalizováno a rozšířeno.
  • Rozhraní API podporující přetahování teď obsahuje nové třídy a , které NSFilePromiseProviderNSFilePromiseReceiver podporují přetahování.
  • Do existujících ovládacích prvků bylo přidáno několik konstruktorů pro usnadnění:
    • 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í zalamování a nezalamování popisků, popisků s atributy 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í neupravitelných zobrazení obrázků z daného NSImage objektu .
  • Nový objekt byl přidán do automatického rozložení kolekce dílčích zobrazení do mřížky s řádky a sloupci s proměnnou velikostí, které lze NSGridView dynamicky skrýt nebo zobrazit.

Vylepšení architektury AV Ceas

V rozhraní AVWeather framework for macOS Sierra byla provedena následující macOS Sierra:

  • V systému macOS už aplikace nemusí implementovat různá chování AVPlayerItem na základě typu obsahu. Stačí nastavit vlastnost a AV Automaticky určí, kdy je k dispozici dostatek obsahu Rate pro přehrávání bez zastavení.
  • Nová třída usnadňuje smyčku dané části AVPlayerLooper média během přehrávání.
  • Třída umožňuje stahování a pozdější přehrávání šifrovaných streamů AVAssetDownloadURLSession HLS FairPlay.

Vylepšení základní datové architektury

Základní datová rozhraní pro macOS Sierra:

  • Kořenové objekty NSManagedObjectContext podporují souběžné selhání a načítání bez serializace.
  • Třída NSPersistentStoreCoordinator udržuje fond úložišť dat SQLite.
  • Objekty NSManagedObjectContext s datovými úložištěmi SQLite v režimu deníku WAL podporují novou funkci generování dotazů, ve které je možné kontexty spravovaných objektů (MOC) připnout na konkrétní verze databáze pro budoucí načítání a chybné transakce.
  • Použití vysoké úrovně k NSPersistenceContainer odkazování na NSPersistentStoreCoordinator , NSPersistenceContainer a další prostředky konfigurace základních dat
  • Přidali jsme několik nových metod usnadnění, které usnadňují načítání a NSManagedObject vytváření podtříd.

Další informace najdete v referenčních informacích k základní datové rozhraní společnostiApple.

Vylepšení architektury základní image

Základní image framework pro macOS Sierra:

  • Metodu ImageWithExtent třídy ImageWithExtent 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 kontextu základního obrázku tím, že před zpracováním a po zpracování převede do a z barevného prostoru.
  • Jádro základní image teď může požádat o konkrétní formát výstupu pixelů.
  • Přidali jsme následující nové filtry obrázků: CINinePartTitled , CINinePartStretched , a CIHueSaturationValueGradientCIEdgePreserveUpsampleFilterCIClamp .

Vylepšení architektury Foundation Framework

Základní rozhraní pro macOS Sierra:

  • Rozhraní API NSDimentions můžete použít k reprezentaci, převodu a zobrazení mnoha nejběžnějších fyzických jednotek, jako je hmotnost, délka, rychlost, doba trvání a teplota.
  • Třídu NSISO8601DateFormatter použijte k analýze a generování formátovaných dat ISO 8601.
  • Pomocí nové třídy NSDateInterval můžete provádět výpočty časového intervalu a data, jako jsou doby trvání, pro porovnání intervalů a testování průniků intervalů.
  • Třída NSPersonNameComponentsFormatter slouží k analýze prvků 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 základní verzi Apple pro OS X verze 10.12 a iOS 10.

Vylepšení rozhraní GameKit Framework

Rozhraní GameKit Framework for macOS Sierra:

  • Aplikace Game Center je zastaralá a odebraná z macOS. Pokud aplikace používá GameKit, musí prezentovat vlastní rozhraní pro zobrazení funkcí GameKitu, jako jsou například žebříčky žebříčku žebříčku atd.
  • Třída GKCloudPlayer implementuje nový typ účtu jenom pro iCloud.
  • Nová třída GKGameSession poskytuje obecné řešení pro správu trvalého úložiště dat na Game Center. GKGameSession udržuje seznam hráčů a aplikace zodpovídá za implementaci toho, jak a kdy je datum účastníka uložené, načtené nebo vyměňované mezi hráči. V mnoha případech mohou herní relace nahradit stávající shody na základě času, shody v reálném čase nebo trvalé metody ukládání her.

Vylepšení rozhraní GamePlayKit

V rozhraní GamePlayKit framework for macOS Sierra:

  • Bylo přidáno generování procedurálního šumu, které lze použít ke zlepšení realismu v přirozeně vypadajících texturách, ke zvýšení realismu pohybu fotoaparátů a ke generování bohatých herních světů.
  • Prostorové dělení slouží k rozdělení dat herního světa, aby bylo vyhledávání efektivní.
  • Přidali jsme nového strategistu Monte Carlo(GK NumericCarloStrategist)pro vyčerpávající možné výpočty přesunu.
  • Přidali jsme nové rozhraní API rozhodovacího stromu(GKDecisionTree a GKDecisionNode),které vylepšuje AI pro sestavování her.
  • K existujícímu agentovi a chování při hledání cesty byla přidána podpora 3D 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íkitů CombinKit a SpriteKit než kdy dřív.

Vylepšení metalové architektury

V systému Metal Framework for macOS Sierra byla provedena následující macOS Sierra:

  • 3D aplikace a hry teď mohou pomocí Tlation efektivně vykreslovat složité scény a geometrii prostřednictvím GPU.
  • Specializace funkcí slouží k vytvoření vysoce optimalizované kolekce funkcí kombinace materiálu a světla pro scénu.
  • Poskytuje přesnou kontrolu nad přidělováním prostředků za účelem optimalizace výkonu aplikací založených na systému pomocí služeb Resource Heaps a Memoryless Render Targets.

Další informace najdete v průvodci programováním pro metal společnostiApple.

Vylepšení architektury V/V modelů

V rozhraní V/V modelu pro windows byly provedeny následující macOS Sierra:

  • Nyní se podporuje formát souboru USD.
  • Nová třída umožňuje MDLMaterialPropertyGraph snadnou podporu změn modelů za běhu.
  • Do třídy MDLVoproviderArray byla přidána podpora pole vzdálenosti se znaménkem.
  • S umístěním sondy Light vám pomůže MDLLightProbeIrradianceDataSource nová třída.

Vylepšení architektury Photos

V rámci architektury Photos Framework for macOS Sierra:

Vylepšení architektury SceneKit

V rozhraní SceneKit Framework for macOS Sierra:

  • Teď obsahuje nový systém PBR (Physically Based Rendering), který nabízí realističtější výsledky s jednodušším vytvářením prostředků.
  • Nový model stínování SCNLightingModelPhysicallyBased můžete použít k vytvoření široké škály realistických efektů stínování a přitom vyžadovat pouze tři základní vlastnosti ( a MetalnessRoughness ).
  • Vzhledem k tomu, že stínování PBR funguje nejlépe s osvětlením na základě prostředí, přiřaďte osvětlení na základě obrázku celé scéně pomocí LightingEnvironment vlastnosti .
  • Vlastnost použijte k importu skutečných světlých osvětlení, které definují osvětlení na skutečných hodnotách, jako je intenzita IESProfileURL (v teplotě) a barevná teplota (ve stupních Přichycený).
  • Třída SCNCamera může poskytovat větší realismus pomocí funkcí a efektů FUNKCE. Adaptivní vystavení můžete použít k vytváření automatických efektů nebo k přidání filmatických efektů do hry použijte vulační, barevné fringování a barevné barvení.
  • Funkce fotoaparátu PBR i CAMERA poskytují lepší výsledky než tradiční techniky vykreslování, a proto SceneKit teď provádí všechny výpočty barev v lineárním barevném prostoru (pomocí barevného gamutu P3 na displejích se širokými barvami zařízení).
  • SceneKit teď barevně odpovídá všem barvám přečtením informací 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 profilu barev 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 klíčů a SCNDisableLinearSpaceRenderingSCNDisableWideGamut v souboru aplikace Info.plist .
  • Sestavte libovolné mnohoúhelníky (načtené ze souborů nebo vygenerované programově) a určete geometrii pomocí nové třídy SCNGeometryPrimitiveTypePolygon.

Vylepšení architektury zabezpečení

V rámci architektury zabezpečení pro macOS Sierra:

  • Rozhraní SecKey je modernizované a sjednocené na všech platformách (iOS, tvOS, watchOS a macOS).

Vylepšení architektury SpriteKit

Rozhraní SpriteKit Framework for macOS Sierra:

  • Mapy dlaždic teď podporují čtvercové, hexametrické a bitové tvary dlaždic pro 2D, 2.5D a hry pro posouvání bokem pomocí tříd , a SKTileMapModeSKTileGroupSKTileGroupRuleSKTileSet .
  • Pomocí nové třídy SKWarpGeometry roztáhněte nebo zkreslte SKWarpGeometrynebo SKEffectNode. Novou třídu SKAction je možné použít k animace přechodů mezi efekty 1.
  • Vlastní shadery mohou poskytovat atributy ( ), které může nakonfigurovat každý uzel, který používá shader, samostatně tak, že dodá SKAttribute hodnotu atributu ( SKAttributeValue ).
  • Třída SKView poskytuje několik nových metod, které poskytují přesnou kontrolu nad tom, kdy a jak se vykreslí scéna.

Nová rozhraní

Do aplikace byly přidány následující macOS Sierra:

  • Intents Framework – tato rozhraní umožňuje aplikaci zkoumat interakce (například akce polohy nebo uživatele) a na základě těchto informací provádět akce.
  • SafariServices Framework – Tato rozhraní umožňuje aplikaci vyvíjet rozšíření aplikací pro Safari (například blokování obsahu) pro macOS i iOS.