Introduzione a iOS 9
Questo articolo presenta tutte le API e le funzionalità nuove e modificate disponibili in iOS 9 per sviluppatori Xamarin.iOS.
Apple ha aggiunto diverse nuove API e servizi in iOS 9, oltre a numerosi miglioramenti alle funzionalità esistenti.
3D Touch
Novità di iOS 9 e i Telefono 6s e i Telefono 6s Plus, 3D Touch aggiunge gesti sensibili alla pressione alle app iOS. Con 3D Touch, un'app i Telefono ora è in grado di non solo dire che l'utente sta toccando lo schermo del dispositivo, può anche percepire la pressione che l'utente sta esercitando e rispondere ai diversi livelli di pressione.
3D Touch offre le funzionalità seguenti per l'app:
- Sensibilità alla pressione: le app ora possono misurare quanto sia difficile o leggero che l'utente tocca lo schermo e sfrutta tali informazioni. Ad esempio, un'app di disegno può rendere una linea più spessa o più sottile in base alla difficoltà con cui l'utente tocca lo schermo.
- Visualizza e pop : l'app può ora consentire all'utente di interagire con i dati senza dover uscire dal contesto corrente. Premendo hard sullo schermo, è possibile visualizzare l'elemento a cui sono interessati (ad esempio visualizzare in anteprima un messaggio). Premendo più difficile, possono accedere all'elemento.
- Azioni rapide: si pensi ad azioni rapide come i menu contestuali che possono essere visualizzati quando un utente fa clic con il pulsante destro del mouse su un elemento in un'app desktop. Usando azioni rapide, è possibile aggiungere collegamenti comuni, rapidi e facili da accedere alle funzioni nella tua app dall'icona della schermata Home nel dispositivo iOS.
Per saperne di più, vedi la guida Introduttiva a 3D Touch .
ATS (App Transport Security)
Novità di iOS 9, App Transport Security (ATS) applica connessioni sicure tra le risorse Internet (ad esempio il server back-end dell'app) e l'app. ATS garantisce che tutte le comunicazioni Internet siano conformi alle procedure consigliate per la connessione sicura, impedendo così la divulgazione accidentale di informazioni riservate direttamente tramite l'app o una libreria che utilizza.
Poiché ATS è abilitato per impostazione predefinita nelle app compilate per iOS 9 e OS X 10.11 (El Capitan), tutte le connessioni che usano NSUrl Connessione ion, CFUrl o NSUrlSession saranno soggette ai requisiti di sicurezza di ATS. Se le connessioni non soddisfano questi requisiti, avranno esito negativo con un'eccezione.
Per altre informazioni su ATS, vedere la guida alla sicurezza del trasporto delle app.
Multitasking per iPad
Con iOS 9, Apple ha aggiunto il supporto multitasking per l'esecuzione simultanea di due app su hardware iPad specifico. Di conseguenza, le app Xamarin.iOS non possono più presupporre che siano l'unica app in esecuzione in un determinato momento o che abbiano accesso alle risorse o allo schermo intero del dispositivo.
Il multitasking per iPad è supportato tramite le funzionalità seguenti:
- Slide Over : consente all'utente di eseguire temporaneamente una seconda app iOS in un pannello di scorrimento (sul lato destro o sinistro dello schermo in base alla direzione della lingua) che copre circa il 25% dell'app principale attualmente in esecuzione. Slide Over è disponibile solo su iPad Pro, iPad Air, iPad Air 2, iPad Mini 2, iPad Mini 3 o iPad Mini 4.
- Split View : sull'hardware iPad supportato (solo iPad Air 2, iPad Mini 4 e iPad Pro), l'utente può selezionare una seconda app ed eseguirla side-by-side con l'app attualmente in esecuzione in modalità split screen. L'utente può controllare la percentuale della schermata principale occupata da ogni app.
- Immagine nell'immagine : per le app che riproduceno contenuto video, il video può ora essere riprodotto in una finestra spostabile e ridimensionabile che si sposta sulle altre app attualmente in esecuzione nel dispositivo iOS. L'utente ha il controllo completo sulle dimensioni e sulla posizione di questa finestra. L'immagine nell'immagine è disponibile solo in un iPad Pro, iPad Air, iPad Air 2, iPad Mini 2, iPad Mini 3 o iPad Mini 4.
Per saperne di più sulle nuove capacità multitasking di iOS 9, vedi la nostra guida multitasking per iPad .
Nuovi framework dell'interfaccia utente contatti e contatti
Con l'introduzione di iOS 9, Apple ha rilasciato due nuovi framework, Contacts e ContactsUI, che sostituiscono i framework esistenti dell'interfaccia utente rubrica e rubrica usati da iOS 8 e versioni precedenti.
Questi nuovi framework orientati agli oggetti forniscono quanto segue:
- Contatti : fornisce l'accesso A Xamarin.iOS alle informazioni di contatto dell'utente. Poiché la maggior parte delle app richiede solo l'accesso in sola lettura, questo framework è stato ottimizzato per l'accesso thread-safe e di sola lettura.
- ContactsUI : fornisce elementi dell'interfaccia utente Xamarin.iOS per visualizzare, modificare, selezionare e creare contatti nei dispositivi iOS.
Per altre informazioni, vedere la documentazione dell'interfaccia utente contatti e contatti.
Nuove API di ricerca
La ricerca è stata ampliata in iOS 9 per offrire nuovi modi per accedere alle informazioni all'interno dell'app Xamarin.iOS. Usando le nuove API di ricerca, puoi rendere ricercabile il contenuto della tua app tramite i risultati della ricerca Spotlight e Safari, Handoff e Siri Reminders e Suggestions. In questo modo gli utenti possono accedere rapidamente alle attività e alle informazioni approfondite all'interno dell'app.
Inoltre, le nuove API di ricerca semplificano l'integrazione della ricerca nell'app senza esperienza di implementazione della ricerca precedente. Per questo motivo, Apple sostiene che in genere sono necessarie alcune ore per rendere il contenuto di un'app iOS 9 universalmente ricercabile tramite Ricerca app.
Per altre informazioni, vedere la documentazione relativa ai miglioramenti della ricerca.
Nuova visualizzazione stack
Il controllo Visualizzazione stack (UIStackView sfrutta la potenza delle classi layout e dimensioni automatico per gestire uno stack di visualizzazioni secondarie (orizzontalmente o verticalmente) che risponde dinamicamente all'orientamento e alle dimensioni dello schermo del dispositivo iOS.
Usando il controllo Visualizzazione stack, la quantità di lavoro necessaria per il layout di un'interfaccia utente è notevolmente ridotta. Il layout di tutte le visualizzazioni secondarie associate a una visualizzazione stack viene gestito automaticamente in base alle proprietà definite dallo sviluppatore, ad esempio asse, distribuzione, allineamento e spaziatura.
Per altre informazioni, vedere la documentazione introduttiva alla visualizzazione stack.
Modifiche alla visualizzazione raccolta
In iOS 9, la visualizzazione raccolta (UICollectionView supporta ora il riordinamento degli elementi predefiniti aggiungendo un nuovo riconoscimento movimento predefinito e diversi nuovi metodi di supporto.
Usando questi nuovi metodi, è possibile implementare facilmente il trascinamento del riordino nella visualizzazione raccolta e scegliere di personalizzare l'aspetto degli elementi durante qualsiasi fase del processo di riordinamento.
Per altre informazioni sulle modifiche alla visualizzazione raccolta per iOS 9, vedere la guida alle modifiche alla visualizzazione raccolta.
Miglioramenti del gioco
Con iOS 9, Apple ha apportato diversi miglioramenti tecnologici alle API di gioco che semplificano l'implementazione della grafica e dell'audio del gioco nell'app Xamarin.iOS. Questi includono sia la facilità di sviluppo attraverso framework di alto livello che sfruttano la potenza della GPU del dispositivo iOS per migliorare la velocità e le capacità grafiche con miglioramenti di basso livello.
Sono inclusi GameplayKit, ReplayKit, Model I/O, MetalKit e Metal Performance Shader insieme a nuove funzionalità avanzate di Metal, SceneKit e SpriteKit.
Per altre informazioni, vedere la documentazione relativa ai miglioramenti del gioco.
Modifiche al framework HomeKit
Il framework HomeKit , introdotto in iOS 8, offre la possibilità di configurare e controllare vari accessori abilitati per HomeKit (ad esempio luci automatizzate, serrature delle porte e porte del garage) da un'app Xamarin.iOS. Oltre a essere facile da configurare, gli accessori HomeKit possono essere controllati tramite comandi vocali di Siri.
In iOS 9, Apple ha reso più semplice la configurazione, ha ampliato i tipi di accessori supportati e fornito più interazioni accessori (come il controllo di un accessorio in remoto tramite iCloud).
Per altre informazioni, vedere la documentazione introduzione a HomeKit e HomeKit di Apple.
Modifiche apportate al framework handoff
Handoff (noto anche come Continuità) è stato introdotto da Apple in iOS 8 e OS X Yosemite (10.10) come modo per consentire all'utente di avviare un'attività su uno dei propri dispositivi (iOS o Mac) e continuare la stessa attività su un altro dei propri dispositivi (come identificato dall'account iCloud dell'utente).
Handoff è stato ampliato in iOS 9 per supportare anche nuove funzionalità di ricerca avanzate. Per altre informazioni, vedere la documentazione relativa ai miglioramenti della ricerca. Per altre informazioni sull'uso di Handoff, vedere la documentazione introduttiva all'handoff .
Nuovi punti di estensione
In iOS 8 Apple ha introdotto le estensioni, ovvero le librerie presentate dal sistema operativo in contesti standard, ad esempio all'interno del Centro notifiche, quando l'utente richiede una tastiera o quando modifica una foto.
Con iOS 9, Apple estende il supporto dell'estensione fornendo diversi nuovi punti di estensione che definiscono i criteri di utilizzo e forniscono API per lavorare all'interno di una determinata area come indicato di seguito:
- Nuovo punto di estensione unità audio: usare questo punto di estensione per fornire effetti audio, strumenti musicali, generatori audio e così via per l'uso all'interno di altre app host di unità audio (ad esempio GarageBand). Questo punto di estensione consente anche di vendere unità audio (plug-in audio) nell'App Store.
- Nuovo punto di estensione per la manutenzione degli indici: usare questo punto di estensione per supportare la reindicizzazione dei dati dell'app senza richiedere un riavvio dell'app.
- Nuovi punti di estensione di rete (questi richiedono un'autorizzazione speciale da Apple):
- Estensione del provider proxy dell'app: usare questo punto di estensione per implementare un proxy di rete lato client trasparente personalizzato.
- Filtro provider di dati/Filtro Estensione provider di controllo: usare questi punti di estensione per implementare il filtro del contenuto di rete dinamico nel dispositivo.
- Estensione del provider di tunnel di pacchetti: usare questo punto di estensione per implementare un protocollo di tunneling VPN personalizzato sul lato client.
- Nuovi punti di estensione safari:
- Estensione di blocco del contenuto: usare questo punto di estensione per definire un elenco di contenuto bloccato che non verrà visualizzato quando l'utente sta esplorando il Web.
- Estensione collegamenti condivisi: usare questo punto di estensione per abilitare la visualizzazione del contenuto dell'app nei collegamenti condivisi di Safari.
Per altre informazioni, vedere la documentazione introduttiva alle estensioni e alla guida alla programmazione delle estensioni delle app di Apple.
Miglioramenti del portachiavi
In iOS 9, Apple ha migliorato il Keychain per fornire un nuovo tipo di chiave di crittografia per l'enclave sicuro e altre opzioni di protezione degli elementi come indicato di seguito:
- Nuovo vincolo Touch ID che invalida gli elementi Keychain quando viene modificato il database delle impronte digitali.
- Nuovi vincoli che consentono di creare Controllo di accesso voci elenco solo con Touch ID o Passcode.
- Nuovo contesto di autenticazione che consente di richiamare l'autenticazione separata dalle
SecItem
chiamate. - Controllo di accesso l'entropia dell'elenco (usando l'opzione Password applicazione) per la crittografia degli elementi keychain fornita dall'app.
- Supporto per la generazione e l'uso di chiavi all'interno dell'enclave sicuro (tramite l'attributo
kSecAttrTokenIDSecureEnclave
).
Per altre informazioni, vedere Touch ID e Face ID in Xamarin.iOS.
Supporto lingua da destra a sinistra
In iOS 9, Apple ha reso la presentazione di un'interfaccia utente capovolta che mai fornendo supporto completo per le lingue da destra a sinistra. È incluso quanto segue:
- I controlli UIKit standard invertiranno automaticamente da destra a sinistra in base alle impostazioni locali e alla lingua dei dispositivi iOS.
- La classe UIView fornisce attributi che consentono di definire la modalità di visualizzazione di una determinata visualizzazione quando si capovolge da destra a sinistra.
- Possibilità di capovolgere un'immagine a livello di codice usando la proprietà FlipsForRightToLeftLayoutDirection della classe UIImage .
Per altre informazioni, vedere la documentazione relativa al supporto delle lingue da destra a sinistra di Apple.
Modifiche aggiuntive al framework
Oltre alle principali modifiche descritte in precedenza, Apple ha apportato modifiche e miglioramenti a diversi framework esistenti per iOS 9, tra cui i seguenti:
- AV Foundation Framework
- AVKit Framework
- CloudKit Framework
- Framework di base
- Handoff Framework
- HealthKit Framework
- HomeKit Framework
- Framework di autenticazione locale
- MapKit Framework
- PassKit Framework
- Safari Services Framework
- UIKit Framework
Per altre informazioni, vedere la documentazione modifiche aggiuntive del framework iOS 9.
API e funzioni deprecate
Apple ha deprecato le API e le funzioni seguenti in iOS 9:
- Interfaccia utente rubrica e rubrica: queste API sono state sostituite dai framework dell'interfaccia utente contatto e contatto. Per altre informazioni, vedere la documentazione dell'interfaccia utente contatti e contatti.
- CBCentralManager : i
RetrievePeripherals
metodi eRetrieveConnectedPeripherals
dellaCBCentralManager
classe sono stati rimossi in iOS 9. La chiamata a questi metodi causerà l'arresto anomalo di un'app durante l'associazione di un accessorio o all'avvio dell'app. - FetchAllChanges : l'oggetto
FetchAllChanges
dellaCKFetchRecordChangesOperation
classe è stato deprecato e verrà rimosso in iOS 9. - Lettore multimediale: il framework Lettore multimediale è stato deprecato in iOS 9. Usare invece LE API AVKit o AV Foundation.
Per un elenco completo delle deprecazioni dell'API specifiche, vedere la documentazione relativa alle differenze dell'API iOS 9.0 di Apple.
Collegamenti correlati
- Introduzione al tocco 3D
- ATS (App Transport Security)
- Multitasking per iPad
- Interfaccia utente contatti e contatti
- Nuove API di ricerca
- Introduzione alla visualizzazione stack
- Modifiche alla visualizzazione raccolta
- Miglioramenti del gioco
- Introduzione a HomeKit
- Introduzione all'handoff
- Modifiche aggiuntive del framework iOS 9
- Risoluzione dei problemi
- Novità di iOS 9.0
- Aggiornamento delle app Xamarin.iOS a iOS9 (video)