iOS 8.2 è stato lanciato questa sera dall'azienda Apple per gli sviluppatori di applicazioni per la piattaforma iOS, la nuova versione del sistema operativo disponibile per iPhone, iPad e iPod Touch. Il rilascio di questo aggiornamento avviene con l'idea di dare agli sviluppatori di applicazioni l'opportunità di testare la nuova versione del sistema operativo con applicazioni che possono essere prodotte utilizzando il nuovo Xcode 6.2. Questa versione di XCode contiene WatchKit, uno speciale SDK che permette di sviluppare applicazioni per Apple Watch, in modo che gli sviluppatori possano preparare i loro titoli per il lancio del nuovo prodotto Apple.
iOS 8.2 non apporta novità di rilievo per i nostri iDevices, ma solo funzioni legate a WatchKit o OS X, quindi per ora non è necessario installarlo.
Registro delle modifiche di iOS 8.2
Note e problemi noti
I seguenti problemi riguardano l'utilizzo di iOS SDK 8.2 per sviluppare codice.
Cloud Kit
Note:
Un singolo
CKAsset
l'istanza non può più essere impostata come valore su più CKRecord.Fornitori di documenti
Note
La tua app necessita del diritto iCloud per poter essere utilizzata come fornitore di documenti.
I
com.apple.developer.icloud-container-identifiers
è richiesto il diritto.Problemi noti
Dopo aver ruotato il selettore documenti in orizzontale, la barra di stato viene nascosta.
Quando si apre il selettore documenti in orizzontale, la vista contenitore può essere spostata sotto la barra di navigazione.
Estensioni app
Note
Le estensioni dell'app necessitano di una slice arm64 per essere eseguite su dispositivi a 64 bit. Se provi a eseguire la slice armv7 su un dispositivo a 64 bit, non funzionerà.
Le app devono avere una slice arm64 se il pacchetto contiene un framework a cui sono collegate sia l'app che l'estensione dell'app.
File System
Note:
Il layout del file system dei contenitori delle app è cambiato sul disco. Invece di fare affidamento su una struttura di directory codificata, utilizzare il file
NSSearchPathForDirectoriesInDomains
funzione o ilURLForDirectory:inDomain:appropriateForURL:create:error:
metodo delNSFileManager
classe. SEE Accesso a file e directory in Guida alla programmazione del file system.Caratteri
Note:
Il carattere del sistema tailandese è stato aumentato di dimensioni per migliorare la leggibilità. Ciò causerà il ritaglio in molti punti dell'interfaccia utente se non intraprendi le azioni appropriate:
Usa il
UILabel
per quanto possibile. Se utilizzi Interface Builder, assicurati che Sottovisualizzazioni clip non sia selezionato. UIKit aumenterà l'area di ritaglio secondo necessità per non ritagliare il testo.Utilizza il tipo dinamico. Ciò garantirà che non vi siano glifi sovrapposti nelle etichette multilinea o nei campi di testo.
Se non puoi fare 1 e 2 perché implementi le tue opinioni, devi implementare misure per non ritagliare. Puoi utilizzare CoreText per individuare l'area di ritaglio appropriata per una riga di testo chiamando:
CTLineGetBoundsWithOptions(lineRef, kCTLineBoundsIncludeLanguageExtents);Per evitare la sovrapposizione di glifi negli elementi di testo multilinea, regolare l'altezza della linea. Si consiglia un ulteriore 30%.
Questa misura aiuterà anche la tua app a funzionare meglio in altre lingue, tra cui arabo, hindi e vietnamita.
iCloud
Note:
Il trasferimento della posta e AirDrop potrebbero smettere di funzionare dopo aver modificato la password iCloud su appleid.apple.com.
Soluzione: Esci e torna su iCloud sul dispositivo.
iCloud unità
Note:
URLForUbiquityContainerIdentifier:
potrebbe tornarenil
quando esegui l'applicazione in Xcode. In tal caso, apri Preferenze di Sistema, vai su iCloud > iCloud Drive e abilita Xcode.tastiere
Problema conosciuto
Tastiere aggiuntive, incluse tastiere di terze parti, potrebbero non essere visualizzate in Safari, Mappe o nelle app di terze parti nel simulatore.
Soluzione: Le tastiere dovrebbero essere testabili in Calendario, Spotlight, Contatti e Foto.
Centro di notifica
Note:
Il programma e la destinazione d'uso di
widgetPerformUpdateWithCompletionHandler:
è inteso come una comoda sede per tutta la logica di aggiornamento dei dati/modelli. Se implementato, il sistema chiamerà al momento opportuno il widget per aggiornare il suo stato, sia quando il Centro notifiche è visibile, sia in background. È necessaria un'implementazione per abilitare gli aggiornamenti in background. Si prevede che il widget esegua il lavoro di aggiornamento in modo asincrono e il più possibile fuori dal thread principale. I widget dovrebbero chiamare il blocco dell'argomento una volta completato il lavoro, passando l'appropriatoNCUpdateResult
. I widget NON dovrebbero bloccare il ritorno daviewWillAppear:
sui risultati di questa operazione. Invece, i widget dovrebbero caricare lo stato memorizzato nella cacheviewWillAppear:
per corrispondere allo stato della vista dall'ultimoviewWillDisappear:
, quindi passa senza problemi ai nuovi dati quando arrivano.NSURLSession
Note:
I
NSURLSessionTask
La classe fornisce una nuova proprietà "priorità" con tre costanti associate:NSURLSessionTaskPriorityDefault
,NSURLSessionTaskPriorityLow
eNSURLSessionTaskPriorityHigh
.NSURLSessionTask
le priorità possono essere utilizzate per specificare la priorità a più richieste e risposte allo stesso host. Tieni presente che la priorità è un suggerimento e non una garanzia rigorosaNSURLSessionTask
e le prestazioni.Per i dettagli completi sull'utilizzo di
NSURLSessionTask
priorità, fare riferimento aNSURLSession.h
file di intestazione, fornito dal framework Foundation.Telefono
Note
Per attivare la funzionalità di chiamata Wi-Fi per T-Mobile (solo Stati Uniti), attenersi alla seguente procedura:
Vai su Impostazioni > Telefono > Chiamate Wi-Fi.
Imposta l'interruttore Chiamate Wi-Fi su ON.
Se il corriere non dispone dell'indirizzo di emergenza registrato dell'utente, ti verrà chiesto di aggiungerlo prima dell'attivazione della funzione.
Foto
Note
Mantieni un backup della tua libreria di foto prima di abilitare e durante l'utilizzo della versione beta della libreria di foto di iCloud:
Importazione sul tuo Mac utilizzando iPhoto
Importazione sul tuo Mac utilizzando Acquisizione Immagine
La versione beta della libreria foto di iCloud non scaricherà foto e video che sono stati sincronizzati sul tuo dispositivo da iTunes. Tutte le foto e i video sincronizzati sul tuo dispositivo da iTunes verranno rimossi quando abiliti la versione beta della libreria foto di iCloud.
iPhoto per iOS non verrà avviato su iOS 8 Beta. L'avvio di Photos.app migrerà le modifiche di iPhoto alla libreria foto di iOS 8. Assicurati che i dati di iPhoto per iOS siano inclusi nel backup del dispositivo.
La possibilità di ottimizzare automaticamente lo spazio sul dispositivo è abilitata per tutti gli account superiori a 5 GB.
Quando utilizzi Condivisione famiglia iCloud, sono abilitati sia Condivisione foto iCloud che Il mio streaming foto.
Profili di approvvigionamento
Problema conosciuto
Se hai effettuato l'aggiornamento alla versione 8.2 Beta dalle precedenti versioni beta di iOS 8, potresti vedere le tue app bloccarsi a causa di problemi del profilo di provisioning.
Soluzione:
Collega il dispositivo tramite USB al tuo Mac.
Avvia Xcode.
Scegli Finestra > Dispositivi.
Fare clic con il tasto destro sul dispositivo nella colonna di sinistra, selezionare "Mostra profili di provisioning".
Fare clic sul profilo di provisioning in questione.
Premi il bottone.
Continua a rimuovere tutti i profili interessati.
Reinstallare l'app.
Siri
Problema conosciuto
Il supporto di Siri per l'inglese di Singapore è disabilitato in questa Beta, sebbene rimanga selezionabile nella finestra di selezione della lingua di Siri.
UIKit
Note
UILabel
ha un valore predefinito di YES perclipsToBounds
. Questo è diverso dal normaleUIView
predefinito di NO.I
leftLayoutGuide
edrightLayoutGuide
Le API sono state rimosse. Si prega di utilizzare illayoutMargins
proprietà invece.GuardaKit
Problemi noti
Quando si visualizza una notifica nel simulatore iOS, facendo clic sull'icona o sul corpo della notifica non si avvia l'app Watch corrispondente.
Quando scegli Compila ed esegui, non viene avviata la finestra di controllo.
Soluzione: Apri la finestra Watch in Hardware > Display esterni, quindi scegli di nuovo Crea ed esegui.
Il colore personalizzato dell'anta per i controller di notifica attualmente non viene visualizzato in Interface Builder, ma appare in iOS Simulator.
I
presentTextInputControllerWithSuggestions:completion:
metodo diWKInterfaceController
non è attualmente supportato nel simulatore iOS.L'installazione delle app Watch potrebbe smettere di funzionare nel simulatore iOS.
Soluzione: Reimpostare il simulatore e riprovare.
I
addMenuItemWithImage:title:action:
metodo diWKInterfaceController
non funziona nel simulatore iOS.Soluzione: Usa il
addMenuItemWithImageNamed:title:action:
.
Chiamate Wi-Fi (solo T-Mobile USA)
Note:
Il nome dell'operatore nella barra di stato mostrerà "T-Mobile Wi-Fi" quando il dispositivo è in grado di effettuare e ricevere chiamate Wi-Fi.