Condividi tramite


Modifiche aggiuntive ai framework iOS 10

Questo articolo illustra altre modifiche o miglioramenti secondari ai framework esistenti per iOS 10.

Aggiunte di AV Foundation Framework

Il framework AVFoundation include i miglioramenti seguenti:

  • In iOS 10 lo sviluppatore 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 classe AVCapturePhotoOutput sostituisce la classe deprecata AVCaptureStillImageOutput e fornisce un metodo unificato per la gestione di tutti i flussi di lavoro fotografici fornendo controllo e monitoraggio sofisticati del processo di acquisizione e supporto per nuove funzionalità, ad esempio Live Foto e il formato di acquisizione RAW.
  • 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.
  • Per impostazione predefinita, la classe AVCaptureSession supporta automaticamente l'acquisizione wide-color e wide-gamut quando l'hardware del dispositivo lo supporta. Per altre informazioni, vedere Le informazioni di riferimento sulla compatibilità dei dispositivi iOS di Apple.

Aggiunte AVKit

Il framework AVKit include ora la nuova UpdatesNowPlayingInfoCenter proprietà per indicare quando deve essere aggiornato il Centro informazioni di riproduzione.

Miglioramenti dei dati principali

iOS 10 include i miglioramenti seguenti al framework Core Data:

  • 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.
  • Gli oggetti NSManagedObjectContext radice supportano errori e recupero simultanei senza serializzazione.
  • La classe NSPersistentStoreCoordinator gestisce un pool di archivi dati SQLite.
  • Sono stati aggiunti diversi nuovi metodi pratici per NSManagedObject semplificare l'esecuzione dei recupero e la creazione di sottoclassi.
  • Uso di alto livello NSPersistenceContainer per fare riferimento NSPersistentStoreCoordinatora , NSManagedObjectModel e altre risorse di configurazione di Core Data.

Per altre informazioni, vedere Informazioni di riferimento sul framework di dati di Base di Apple.

Miglioramenti delle immagini principali

iOS 10 apporta i miglioramenti seguenti al framework core image:

  • Lo sviluppatore 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.
  • Per i dispositivi iOS che usano le CPU A8 o A9, il formato di immagine RAW è ora supportato. Core Image offre ora il supporto per decodificare immagini RAW dalla fotocamera iSight predefinita o da una fotocamera di terze parti. Utilizzare i FilterWithImageData metodi o FilterWithImageURL della classe CIFilter per elaborare immagini RAW.
  • Sono stati apportati diversi miglioramenti alle prestazioni di UIImage rendering (se supportati dagli archivi di immagini core) negli UIImageView oggetti .
  • UIImage gli oggetti con tag wide-gamut eseguiranno il rendering come colore a gamut wide negli oggetti nei UIImageView dispositivi iOS che supportano un colore wide.
  • Il codice kernel dell'immagine principale può ora richiedere formati di output pixel specifici.
  • 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.

Sono stati aggiunti anche i nuovi filtri immagine core seguenti:

  • CINinePartTiled
  • CINinePartStretched
  • CIHueSaturationValueGradient
  • CIEdgePreserveUpsampleFilter
  • CIClamp

Aggiunte di movimento di base

Novità di iOS 10, core motion framework include eventi di pedometro che consentono a un'app di ricevere notifiche veloci e in tempo reale dell'utente che sospendono e riprendendo il rilevamento durante l'esecuzione. Usa cmpedometro per registrare gli eventi del pedometro in primo piano o in background.

Miglioramenti di base

Sono stati apportati i miglioramenti seguenti al framework Foundation per iOS 10:

  • Usare la nuova classe NSMeasurementFormatter per formattare le misurazioni localizzate per la visualizzazione all'utente finale.

  • 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 nuova classe NSMeasurement per eseguire la conversione tra unità di misura diverse (UOM) o eseguire calcoli su valori in UOM diversi.

  • Usare le nuove classi NSUnit e NSDimension per la rappresentazione di UOM specifici.

  • Sono state aggiunte diverse nuove proprietà alla classe NSLocal per acquisire informazioni locali e i formati di visualizzazione disponibili.

Miglioramenti di GameKit

Sono stati apportati i miglioramenti seguenti al framework GameKit in iOS 10:

  • L'app Game Center è stata deprecata e rimossa da iOS. 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 dell'implementazione di 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 di GameplayKit

I miglioramenti seguenti sono stati apportati al framework GameplayKit in iOS 10:

  • Usare la nuova classe GKMeshGraph per fornire percorsi di ricerca naturale e ad alte prestazioni.
  • 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.
  • Il supporto 3D è stato aggiunto ai comportamenti esistenti di individuazione del percorso e dell'agente usando le nuove classi GKAgent3D e GKGraphNode3D .
  • Le nuove classi GKScene e GKSKNodeComponent semplificano la combinazione di GameplayKit e SpriteKit che mai.
  • È stata aggiunta una nuova API Decision Tree (GKDecisionTree e GKDecisionNode) per migliorare l'intelligenza artificiale per la creazione di giochi.

Miglioramenti di HealthKit

I miglioramenti seguenti sono stati apportati al framework HealthKit in iOS 10:

  • Sono state aggiunte nuove chiavi di metadati per i tipi di meteo (ad esempio HKWeatherConditionClear e HKWeatherConditionCloudy) e i tipi di allenamento (ad esempio HKWorkoutActivityTypeFlexibility e HKWorkoutActivityTypeWheelchairRunPace) aggiunti.
  • La nuova HKCDADocument classe è stata aggiunta per rappresentare un documento formattato CDA (Clinical Document Architecture).
  • Usa la nuova classe HKWorkoutConfiguration per specificare e LocationTypeActivityType di un allenamento.
  • Sono stati aggiunti il nuovo HKWheelchairUseObject e il WheelchairUse metodo della classe HKHealthStore per lavorare con i dati sanitari correlati alla sedia a rotelle.

Miglioramenti di HomeKit

Sono stati apportati i miglioramenti seguenti al framework HomeKit in iOS 10:

  • Sono stati aggiunti nuovi servizi e caratteristiche.
  • Un iPad può essere configurato in modo da fungere da hub HomeKit per fornire l'accesso accessorio remoto, eseguire trigger di automazione e abilitare le autorizzazioni utente condivise.
  • È stato aggiunto il supporto per gli accessori fotocamera e campanello.
  • Sono state fornite altre configurazioni e contesto per gli accessori.

Per altre informazioni, vedere la documentazione introduttiva a HomeKit .

Miglioramenti dei metalli

Sono stati apportati i miglioramenti seguenti al framework Metal in iOS 10:

  • 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.
  • 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.
  • Usare la specializzazione funzione per creare una raccolta altamente ottimizzata di funzioni di combinazione di materiale e luce per una scena.

Per altre informazioni, vedere la Guida alla programmazione metal di Apple.

Miglioramenti di ModelIO

Sono stati apportati i miglioramenti seguenti al framework ModelIO in iOS 10:

  • Il formato di file USD è ora supportato.
  • Il supporto di Signed Distance Field è stato aggiunto alla classe MDLVoxelArray .
  • Usare la nuova MDLLightProbeIrradianceDataSource classe per facilitare il posizionamento del probe di luce.
  • Usare la nuova MDLMaterialPropertyGraph classe per supportare facilmente le modifiche di runtime ai modelli.

Miglioramenti Foto

Sono stati apportati i miglioramenti seguenti al framework Foto in iOS 10:

  • Usare le classi CIImageProcessorInput e CIImageProcessorOutput per sfruttare la nuova funzionalità core image processor per eseguire modifiche.
  • 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.

Miglioramenti di ReplayKit

Sono stati apportati i miglioramenti seguenti al framework ReplayKit in iOS 10:

Miglioramenti di SceneKit

Sono stati apportati i miglioramenti seguenti al framework SceneKit in iOS 10:

  • 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 fillmatici al gioco.
  • SceneKit 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 (DiffuseMetalnesse Roughness).
  • Poiché l'ombreggiatura PBR funziona meglio con l'illuminazione basata sull'ambiente, usare la LightingEnvironment proprietà per assegnare l'illuminazione basata su immagine a un'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).
  • 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.
  • Il rendering dello spazio dei colori lineare e il colore wide possono essere disabilitati specificando le SCNDisableLinearSpaceRendering chiavi e SCNDisableWideGamut nell'app Info.plist.
  • Compilare primati poligoni arbitrari (caricati da file o generati a livello di codice) per specificare la geometria con la nuova classe SCNGeometryPrimitiveTypePolygon .
  • 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.

Miglioramenti di SpriteKit

Sono stati apportati i miglioramenti seguenti al framework SpriteKit in iOS 10:

  • Gli shader personalizzati possono fornire attributi (SKAttribute) che possono essere configurati separatamente da ogni nodo che usa lo shader specificando un valore attributo (SKAttributeValue).
  • Le mappe affiancate supportano ora forme di riquadri quadratiche, esagonali e isometriche per giochi 2D, 2.5D e scorrimento laterale usando le SKTileMapModeclassi , SKTileGroupSKTileGroupRule e SKTileSet .
  • 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.
  • La classe SKView fornisce diversi nuovi metodi per fornire un controllo granulare su quando e su come viene eseguito il rendering di una scena.

Miglioramenti di ScrollView

Sono stati apportati i miglioramenti seguenti al controllo ScrollView in iOS 10.3:

  • UIScrollView includere ora la IndexDisplayMode proprietà per controllare la modalità di visualizzazione dell'indice mentre l'utente scorre come di UIScrollViewIndexDisplayMode :
    • Automatic - La visualizzazione dell'indice è controllata dal sistema operativo.
    • AlwaysHidden - La visualizzazione dell'indice è sempre nascosta.

Miglioramenti di UIKit

Sono stati apportati i miglioramenti seguenti al framework UIKit in iOS 10:

  • La nuova API UIPasteboard fornisce nuove opzioni (ad esempio limitazioni di durata) e dichiarerà automaticamente tipi di contenuto compatibili per i tipi di classe comuni.
  • È stato aggiunto un nuovo supporto di animazione completamente interattivo, basato su oggetti e interrompibile e può essere collegato ai movimenti. Per altre informazioni, vedere Informazioni di riferimento sul protocollo UIViewAnimating di Apple, informazioni di riferimento sulla classe UIViewPropertyAnimator, informazioni di riferimento sul protocollo UITimingCurveProvider, informazioni di riferimento sulla classe UICubicTimingParameters e informazioni di riferimento sulla classe UISpringTimingParameter.
  • Il nuovo UIPreviewInteraction e UIPreviewInteractionDelegate consentire all'app per sviluppatori di fornire un'interfaccia personalizzata per le operazioni di visualizzazione e pop.
  • La nuova UIAccessibilityCustomRotor classe consente all'app di fornire funzionalità personalizzate specifiche del contesto per l'assistive technology, ad esempio Voice Over.
  • Usare i UIAccessibilityIsAssistiveTouchRunning simboli e UIAccessibilityAssistiveTouchStatusDidChangeNotification per determinare se AssistiveTouch è abilitato.
  • Usa i UIAccessibilityHearingDevicePairedEar simboli e UIAccessibilityHearingDevicePairedEarDidChangeNotification per ottenere lo stato di qualsiasi apparecchi acustico MFi associato.
  • Per supportare il tipo dinamico nelle etichette, i campi di testo e le caselle di testo usano il nuovo PreferredFontForTextStyle metodo della UIFont classe .
  • Per decidere se un elemento deve aggiornare il tipo di UIContentSizeCategory carattere quando il dispositivo cambia, utilizzare la AdjustsFontForContentSizeCategory proprietà del UIContentSizeCategoryAdjusting delegato.
  • Il OpenURL metodo della UIApplication classe viene chiamato in modo asincrono e ora supporta un gestore di completamento chiamato dopo il completamento dell'azione di apertura.
  • Avviare la condivisione di CloudKit e modificarne le proprietà usando le nuove UICloudSharingController classi e UICloudSharingControllerDelegate .
  • Sfruttare i vantaggi delle celle prelettura per migliorare l'esperienza di scorrimento di UICollectionViews con il nuovo UICollectionViewDataSourcePrefetching delegato.
  • Lo sviluppatore può ora controllare l'aspetto della notifica per gli elementi della barra delle schede (ad esempio testo e colore di sfondo).
  • Il controllo Aggiorna è ora supportato in tutte le sottoclassi della visualizzazione di scorrimento e della visualizzazione di scorrimento , ad esempio UICollectionView.

Miglioramenti di WebKit

Sono stati apportati i miglioramenti seguenti al framework WebKit in iOS 10:

  • È stato aggiunto il supporto per la visualizzazione e il pop alla WKWebView classe . Utilizzare il ShouldPreviewElement metodo per determinare se una determinata visualizzazione Web deve visualizzare un'anteprima.