Modifiche aggiuntive al framework macOS Sierra
Accelerare i miglioramenti del framework
Sono stati apportati i miglioramenti seguenti al framework Accelerate per macOS Sierra:
- Aggiunta della quadratura (calcolo integrale).
- Aggiunta di funzioni Di base per la costruzione di reti neurali.
- Aggiunta di funzioni di predicato geometrico per testare elementi come l'intersezione di due oggetti geometrici.
Miglioramenti del framework AppKit
Sono stati apportati i miglioramenti seguenti a AppKit Framework per macOS Sierra:
- Diversi miglioramenti a
NSCollectionView
, ad esempio:- Sezioni comprimibili: consente all'utente di comprimere una sezione Visualizzazione raccolta in una singola riga orizzontale.
- Intestazioni mobili: le intestazioni e i piè di pagina possono ora essere float (in un layout di flusso) usando la stessa API di UICollectionView in iOS.
- Visualizzazioni sfondo scorrevoli: è ora possibile impostare uno sfondo visualizzazioni raccolta per scorrere insieme al contenuto.
- Il passaggio del layout di visualizzazione posticipato è stato ottimizzato ed esteso.
- L'API di trascinamento della selezione include ora le nuove
NSFilePromiseProvider
classi eNSFilePromiseReceiver
per supportare il drag flocking. - Sono stati aggiunti diversi costruttori pratici ai controlli esistenti:
NSButton
include nuovi costruttori per la creazione di pulsanti di scelta, caselle di controllo e pulsanti di opzione.NSTextField
include nuovi costruttori per la creazione di etichette di wrapping e senza wrapping, etichette con attributi e campi di testo modificabili.NSSegmentedControl
include nuovi costruttori per la creazione di controlli segmentati da un gruppo di etichette o immagini.NSSlider
include nuovi costruttori per la creazione di dispositivi di scorrimento lineari orizzontali.NSImageView
include nuovi costruttori per la creazione di visualizzazioni di immagini non modificabili da un determinatoNSImage
oggetto .
- Il nuovo
NSGridView
è stato aggiunto al layout automatico di una raccolta di visualizzazioni secondarie in una griglia con righe e colonne di dimensioni variabili che possono essere nascoste o visualizzate in modo dinamico.
Miglioramenti del framework AVFoundation
Sono stati apportati i miglioramenti seguenti al framework AVFoundation per macOS Sierra:
- In macOS l'app non deve più implementare comportamenti AVPlayerItem diversi in base al tipo di contenuto. È sufficiente impostare la
Rate
proprietà e AVFoundation determinerà quando è disponibile contenuto sufficiente per la riproduzione senza bloccarsi. - La nuova
AVPlayerLooper
classe semplifica il ciclo di un determinato elemento multimediale durante la riproduzione. - La
AVAssetDownloadURLSession
classe consente il download e la riproduzione successiva dei flussi HLS crittografati FairPlay.
Miglioramenti di Core Data Framework
Sono stati apportati i miglioramenti seguenti a Core Data Framework per macOS Sierra:
- Gli oggetti NSManagedObjectContext radice supportano errori e recupero simultanei senza serializzazione.
- La classe NSPersistentStoreCoordinator gestisce un pool di archivi dati SQLite.
- Gli oggetti NSManagedObjectContext con archivi dati SQLite nella modalità journal WAL supportano la nuova funzionalità di generazione di query in cui i contesti oggetto gestito (MOC) possono essere aggiunti a versioni di database specifiche per il recupero e l'errore delle transazioni future.
- Uso di alto livello
NSPersistenceContainer
per fare riferimentoNSPersistentStoreCoordinator
a , NSManagedObjectModel e altre risorse di configurazione di Core Data. - Sono stati aggiunti diversi nuovi metodi pratici per
NSManagedObject
semplificare l'esecuzione dei recupero e la creazione di sottoclassi.
Per altre informazioni, vedere Informazioni di riferimento sul framework di dati di Base di Apple.
Miglioramenti di Core Image Framework
Sono stati apportati i miglioramenti seguenti a Core Image Framework per macOS Sierra:
- Il
ImageWithExtent
metodo della classe CIFilter può essere utilizzato per inserire l'elaborazione personalizzata nell'operazione di filtro. Core Image richiamerà il callback specificato tra i filtri durante l'elaborazione di un'immagine per l'output o la visualizzazione. - L'app può ora elaborare le immagini in uno spazio colore esterno allo spazio di lavoro del contesto immagine principale convertendo e fuori dallo spazio colore prima e dopo l'elaborazione.
- Il kernel Core Image ora può richiedere un formato di output pixel specifico.
- Sono stati aggiunti i nuovi filtri di immagine seguenti:
CINinePartTitled
,CINinePartStretched
,CIEdgePreserveUpsampleFilter
CIHueSaturationValueGradient
eCIClamp
.
Miglioramenti di Foundation Framework
Sono stati apportati i miglioramenti seguenti a Foundation Framework per macOS Sierra:
- Usare l'API NSDimentions per rappresentare, convertire e visualizzare molte delle unità fisiche più comuni, ad esempio massa, lunghezza, velocità, durata e temperatura.
- Usare la classe NSISO8601DateFormatter per l'analisi e la generazione di date formattate ISO 8601.
- Usare la nuova classe NSDateInterval per eseguire calcoli relativi a intervalli di data e ora, ad esempio le durate, per confrontare gli intervalli e testare le intersezioni degli intervalli.
- Usare la classe NSPersonNameComponentsFormatter per analizzare gli elementi del nome di una persona da una stringa.
- Usare la nuova classe NSURLSessionTaskMetrics per ottenere le metriche per una sessione di rete URL.
Per altre informazioni, vedere Le note sulla versione di Apple Foundation per OS X v10.12 e iOS 10.
Miglioramenti del framework GameKit
Sono stati apportati i miglioramenti seguenti al framework GameKit per macOS Sierra:
- L'app Game Center è stata deprecata e rimossa da macOS. Se l'app usa GameKit, deve presentare la propria interfaccia per visualizzare funzionalità gamekit, ad esempio classifiche e così via.
- Un nuovo tipo di account solo iCloud è stato implementato dalla classe GKCloudPlayer .
- La nuova classe GKGameSession offre una soluzione generalizzata per la gestione dell'archiviazione dei dati persistente nel Game Center.
GKGameSession
mantiene un elenco di giocatori e l'app è responsabile che implementa come e quando la data del partecipante viene archiviata, recuperata o scambiata tra i giocatori. In molte istanze le sessioni di gioco possono sostituire corrispondenze basate su turni esistenti, corrispondenze in tempo reale o metodi di salvataggio permanente del gioco.
Miglioramenti del framework GamePlayKit
Sono stati apportati i miglioramenti seguenti al framework GamePlayKit per macOS Sierra:
- La generazione di rumore procedurale è stata aggiunta e può essere usata per migliorare il realismo nelle trame dall'aspetto naturale, aggiungere realismo ai movimenti della fotocamera e contribuire a generare mondi di gioco ricchi.
- Usare il partizionamento spaziale per partizionare i dati del mondo del gioco per una ricerca efficiente.
- È stato aggiunto un nuovo strategist monte Carlo (GKDestinazioniCarloStrategist) per un calcolo completo possibile dello spostamento.
- È stata aggiunta una nuova API Decision Tree (GKDecisionTree e GKDecisionNode) per migliorare l'intelligenza artificiale per la creazione di giochi.
- Il supporto 3D è stato aggiunto ai comportamenti esistenti di individuazione del percorso e dell'agente usando le nuove classi GKAgent3D e GKGraphNode3D .
- Usare la nuova classe GKMeshGraph per fornire percorsi di ricerca naturale e ad alte prestazioni.
- Le nuove classi GKScene e GKSKNodeComponent semplificano la combinazione di GameplayKit e SpriteKit che mai.
Miglioramenti di Metal Framework
Sono stati apportati i miglioramenti seguenti a Metal Framework per macOS Sierra:
- Le app e i giochi 3D possono ora usare Tessellation per eseguire in modo efficiente il rendering di scene e geometrie complesse tramite LA GPU.
- Usare la specializzazione funzione per creare una raccolta altamente ottimizzata di funzioni di combinazione di materiale e luce per una scena.
- Fornire un controllo granulare dell'allocazione delle risorse per ottimizzare le prestazioni delle app basate su Metal usando heap delle risorse e destinazioni di rendering senza memoria.
Per altre informazioni, vedere la Guida alla programmazione metal di Apple.
Miglioramenti del framework di I/O del modello
Sono stati apportati i miglioramenti seguenti a Model I/O Framework per macOS Sierra:
- Il formato di file USD è ora supportato.
- Usare la nuova
MDLMaterialPropertyGraph
classe per supportare facilmente le modifiche di runtime ai modelli. - Il supporto di Signed Distance Field è stato aggiunto alla classe MDLVoxelArray .
- Usare la nuova
MDLLightProbeIrradianceDataSource
classe per facilitare il posizionamento del probe di luce.
Miglioramenti di Foto Framework
Sono stati apportati i miglioramenti seguenti al framework di Foto per macOS Sierra:
- La modifica di foto live è ora disponibile per le app che supportano il framework di Foto e per le estensioni di modifica delle foto (per l'uso all'interno delle app Foto e Fotocamera).
- Usa la nuova classe PHLivePhotoEditingContext per applicare modifiche sia al video che al contenuto ancora di Live Foto.
- Usare le classi CIImageProcessorInput e CIImageProcessorOutput per sfruttare la nuova funzionalità core image processor per eseguire modifiche.
- Per supportare live Foto, le classi PHLivePhoto e PHLivePhotoView sono state convertite da iOS a macOS.
Miglioramenti del framework SceneKit
Sono stati apportati i miglioramenti seguenti al framework SceneKit per macOS Sierra:
- Include ora un nuovo sistema PBR (Physically Based Rendering) per ottenere risultati più realistici con la creazione di asset più semplice.
- Usare il nuovo modello di ombreggiatura SCNLightingModelPhysicallyBased per ottenere un'ampia gamma di effetti di ombreggiatura realistici, richiedendo al tempo stesso solo tre proprietà fondamentali (
Diffuse
Metalness
eRoughness
). - Poiché l'ombreggiatura PBR funziona al meglio con l'illuminazione basata sull'ambiente, usare la
LightingEnvironment
proprietà per assegnare l'illuminazione basata su immagini all'intera scena. - Usare la
IESProfileURL
proprietà per importare apparecchi di illuminazione reali che definiscono l'illuminazione in base a valori reali, ad esempio intensità (ini) e temperatura del colore (in gradi Kelvin). - La classe SCN Fotocamera può offrire maggiore realismo usando funzionalità e effetti HDR. Usa l'esposizione adattiva per creare effetti automatici o usare vignetta, colorazione e gradazione dei colori per aggiungere effetti filmatic al gioco.
- Entrambe le funzionalità della fotocamera PBR e HDR offrono risultati migliori rispetto alle tecniche di rendering tradizionali e, di conseguenza, SceneKit esegue ora tutti i calcoli dei colori in uno spazio colori lineare (usando la gamma di colori P3 nei dispositivi a colori wide).
- SceneKit ora corrisponde a tutti i colori leggendo le informazioni sul profilo colore.
- SceneKit interpreta i valori dei componenti colore in uno spazio di colore RGB lineare per tutti i tipi di shader.
- Poiché SceneKit legge e modifica le informazioni sul profilo colore nelle immagini di trama, usa Cataloghi asset per tutte le immagini per assicurarsi che queste informazioni vengano fornite.
- Il rendering dello spazio dei colori lineare e il colore wide possono essere disabilitati specificando le
SCNDisableLinearSpaceRendering
chiavi eSCNDisableWideGamut
nell'appInfo.plist
. - Compilare primati poligoni arbitrari (caricati da file o generati a livello di codice) per specificare la geometria con la nuova classe SCNGeometryPrimitiveTypePolygon .
Miglioramenti del framework di sicurezza
Sono stati apportati i miglioramenti seguenti al framework di sicurezza per macOS Sierra:
- L'interfaccia
SecKey
è stata modernizzata e unificata in tutte le piattaforme (iOS, tvOS, watchOS e macOS).
Miglioramenti del framework SpriteKit
Sono stati apportati i miglioramenti seguenti al framework SpriteKit per macOS Sierra:
- Le mappe affiancate supportano ora forme di riquadri quadratiche, esagonali e isometriche per giochi 2D, 2.5D e scorrimento laterale usando le
SKTileMapMode
classi ,SKTileGroup
SKTileGroupRule
eSKTileSet
. - Usare la nuova
SKWarpGeometry
classe per estendere o distorcere il rendering di SKSpriteNode o SKEffectNode . La nuova classe SKAction può essere usata per animare le transizioni tra effetti di distorsione. - Gli shader personalizzati possono fornire attributi (
SKAttribute
) che possono essere configurati separatamente da ogni nodo che usa lo shader specificando un valore attributo (SKAttributeValue
). - La classe SKView fornisce diversi nuovi metodi per fornire un controllo granulare su quando e su come viene eseguito il rendering di una scena.
Nuovi framework
I framework seguenti sono stati aggiunti a macOS Sierra:
- Framework finalità: questo framework consente all'app di esaminare le interazioni (ad esempio la posizione o le azioni dell'utente) e di intervenire in base a tali informazioni.
- SafariServices Framework : questo framework consente all'app di sviluppare estensioni dell'app per Safari (ad esempio i blocchi di contenuto) sia per macOS che per iOS.