iOS 8.2 – l'intero elenco delle modifiche pubblicato da Apple

  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 il URLForDirectory:inDomain:appropriateForURL:create:error: metodo del NSFileManagerclasse. 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:

  1. 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.

  2. 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 tornare nil 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'appropriato NCUpdateResult. I widget NON dovrebbero bloccare il ritorno da viewWillAppear: sui risultati di questa operazione. Invece, i widget dovrebbero caricare lo stato memorizzato nella cache viewWillAppear: per corrispondere allo stato della vista dall'ultimo viewWillDisappear:, 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, NSURLSessionTaskPriorityLowe NSURLSessionTaskPriorityHigh. 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 rigorosa NSURLSessionTask e le prestazioni.

Per i dettagli completi sull'utilizzo di NSURLSessionTask priorità, fare riferimento a NSURLSession.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:

  1. Collega il dispositivo tramite USB al tuo Mac.

  2. Avvia Xcode.

  3. Scegli Finestra > Dispositivi.

  4. Fare clic con il tasto destro sul dispositivo nella colonna di sinistra, selezionare "Mostra profili di provisioning".

  5. Fare clic sul profilo di provisioning in questione.

  6. Premi il bottone.

  7. Continua a rimuovere tutti i profili interessati.

  8. 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 per clipsToBounds. Questo è diverso dal normale UIView predefinito di NO.

  • I leftLayoutGuide ed rightLayoutGuide Le API sono state rimosse. Si prega di utilizzare il layoutMargins 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 di WKInterfaceController 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 di WKInterfaceController 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.