iOS 5 beta 2 – tutte le novità portate da Apple

iOS beta 5 2 è stato rilasciato ieri sera da Apple per gli sviluppatori di applicazioni iOS e insieme ad esso è stato rilasciato a changelog molto ampio in cui vengono menzionate tutte le modifiche apportate al sistema operativo. L'elenco è molto lungo, come potete vedere, segno che Apple ha lavorato molto per migliorare il sistema operativo che utilizzeremo. Ci sono alcuni cambiamenti notevoli di cui parlerò in articoli separati, ma qui hai l'intero elenco dei cambiamenti.

Se Apple continuerà a migliorare il sistema in questo modo fino alla versione finale, avremo un iOS 5 molto ben sviluppato.

Rubrica

  • RISOLTO: L'aggiunta di un account CardDAV di qualsiasi tipo (Yahoo, server della rubrica, ecc.) e la successiva rimozione dell'account comporterà la perdita del pulsante dell'interfaccia utente per aggiungere un nuovo contatto. Il pulsante non verrà visualizzato nell'app Contatti o nel pulsante Contatti nell'app Telefono.
  • RISOLTO: La modifica dei campi di un contatto iCloud da un dispositivo iOS che non era la fonte originale del contatto fa sì che la foto del contatto scompaia su altri dispositivi iOS. L'immagine è ancora lì ma non viene recuperata correttamente.

AirPlay

  • A partire da iOS 5.0, i contenuti video nelle applicazioni e nei siti Web sono abilitati per AirPlay per impostazione predefinita.
  • iOS 5.0 supporta AirPlay di video tramite AV Foundation.
  • Lo screen saver di Apple TV potrebbe ridurre le prestazioni di mirroring su AirPlay. Il salvaschermo può essere disabilitato nelle impostazioni di Apple TV.

apple TV

  • La versione beta del software Apple TV consente agli utenti di eseguire il mirroring dei contenuti di un iPad 2 su un'Apple TV (2a generazione) utilizzando AirPlay. Questo software beta abilita anche Photo Stream su Apple TV in modo che gli utenti possano accedere alle foto archiviate su iCloud. Viene fornita la versione beta del software Apple TV per testare le ultime funzionalità AirPlay con le app e i siti Web iOS 5. Se desideri installare la versione beta del software Apple TV sul tuo dispositivo, devi prima registrare l'UDID del tuo dispositivo nel portale del programma per sviluppatori iOS.

Assistant

  • Quando accedi con un account MobileMe classico tramite l'Impostazione Assistita di iOS 5.0, offre il backup iCloud.

audio

  • L'utilizzo della chat vocale in iOS 5 richiede l'impostazione della modalità kAudioSessionMode_VoiceChat sulla sessione audio o l'impostazione della modalità AVAudioSessionModeVoiceChat sull'oggetto AVAudioSession.
  • In iOS 5 beta1, la chat vocale attualmente non funziona sui dispositivi iPhone 3GS e iPod Touch di terza generazione.

Bluetooth

  • RISOLTO: Quando si è connessi all'Hot Spot personale tramite Bluetooth, la connessione Internet per la navigazione web non riesce.

CavalloDav

  • RISOLTO: Nonostante la disattivazione della sincronizzazione dei promemoria con un account iCloud, la modifica nell'app promemoria visualizza l'opzione per creare un nuovo elenco di promemoria in iCloud. In questo modo, l'elenco e le attività sotto l'elenco verranno sincronizzati con altri dispositivi.
  • NOVITÀ: dopo aver creato un evento ricorrente localmente sul dispositivo, il dispositivo interrompe la sincronizzazione dopo aver riscontrato un errore durante l'unione. Rimuovere e aggiungere nuovamente l'account funge da soluzione alternativa a questo problema.

Calendario

  • RISOLTO: Quando si apporta una modifica alla sincronizzazione del calendario, ad esempio avere più di un account sul dispositivo e attivare o disattivare la sincronizzazione del calendario di un account, le modifiche potrebbero non essere visualizzate nell'interfaccia utente del calendario. Per risolvere questo problema, chiudi l'app del calendario tramite il commutatore di app e avviala di nuovo.
  • NOVITÀ: tutti i calendari MobileMe sono stati duplicati dopo aver disattivato e riattivato la sincronizzazione del calendario.
  • NOVITÀ: se avvii o aggiorni manualmente i calendari su un iPad, i tuoi calendari potrebbero scomparire e dovrai toccare "Mostra tutti i calendari" per visualizzarli nuovamente.

Kit di gioco

  • RISOLTO: Nei giochi che supportano le "partite a turni" un giocatore non può terminare una partita a meno che tutti i giocatori non terminino la partita.
  • I dati delle partite per le partite a turni sono attualmente limitati a 4 KB di dati.
  • In iOS 5.0, le notifiche per Game Center sono disattivate per impostazione predefinita. Per abilitare le notifiche vai su Impostazioni->Notifiche->Game Center-> e modifica lo stile di avviso da Nessuno a Banner o Avvisi.
  • RISOLTO: Il tentativo di presentare un oggetto GKPeerPickerController fa sì che un iPhone 4 si oscuri e diventi "modale", ma il selettore peer non viene mai visualizzato.

Grafica

  • NOVITÀ: In iOS 5 beta 2, il tipo di dati della proprietà centrale di GLKSkyboxEffect del framework GLKit è stato modificato da GLfloat * a GLKVector3.
  • RISOLTO: nella versione beta di iOS 5, la proprietà envColor e la proprietà colorMaterialEnabled della classe GLKEffectPropertyTexture (nel framework GLKit) non sono operative.
  • RISOLTO: Nella beta di iOS 5, la proprietà ConstantColor della classe GLKBaseEffect (nel framework GLKit) non riporta il valore corretto in gdb.
  • RISOLTO: Nella versione beta di iOS 5, la classe GLKReflectionMapEffect (nel framework GLKit) richiede la proprietà texture2d0, la proprietà texture2d1 o entrambe configurate con un nome texture valido (ad esempio, texture2d0.glName = myTextureName) per funzionare correttamente . Se una di queste proprietà non è configurata, non si otterrà il rendering della mappa di riflessione e un errore di compilazione dello shader.
  • Se non disponi di una texture2d che intendi utilizzare con la classe GLKReflectionMapEffect, è possibile aggiungere il seguente codice come soluzione alternativa per aumentare l'effetto della mappa di riflessione con una texture di base: [codice redatto]
  • RISOLTO: Nella beta di iOS 5, disabilitare uno qualsiasi dei tre parametri di luce (light0, light1 o light2) di GLKBaseEffect non funziona.
  • Poiché la classe GLKReflectionMapEffect eredita da GLKBaseEffect, lo stesso comportamento viene osservato per le luci utilizzate con GLKReflectionMapEffect.

iBook

  • iBooks 1.2.2 potrebbe non riuscire a visualizzare alcuni testi o immagini nei libri. Aggiorna a iBooks 1.3 nell'App Store.
  • RISOLTO: i PDF più recenti aggiunti a iBooks non verranno aggiunti ai backup successivi.

iCloud Backup

  • Poiché si tratta di un software beta, si consiglia di non utilizzare i servizi iCloud per archiviare dati o informazioni critici. Se abiliti il ​​backup iCloud, il backup automatico con iTunes durante la sincronizzazione verrà disabilitato. Ti consigliamo di eseguire anche manualmente il backup del tuo dispositivo con iTunes.
  • Nella versione beta di iOS 5, il supporto per la protezione dei dati nel backup di iCloud non è disponibile. Di conseguenza, le app che hanno file protetti non avranno alcun backup dei loro dati o metadati.
  • NOVITÀ: dopo il ripristino, potresti non essere in grado di eseguire nuovamente il backup perché il dispositivo pensa ancora che sia in corso il ripristino. Per risolvere questo problema, prova a sincronizzare le app o i contenuti multimediali mancanti da iTunes o prova a eliminare il tuo account iCloud e ad aggiungerlo nuovamente.
  • NOVITÀ: se elimini il backup, la funzionalità verrà disabilitata ma le impostazioni potrebbero comunque indicare che è abilitata e dovrai attivare l'interruttore BackUp to Cloud in Impostazioni.

iCloud bagagli

  • Durante il periodo beta di iOS 5.0, tutti i documenti archiviati sui server potrebbero essere periodicamente eliminati prima di GM. Pertanto, si consiglia vivamente di non archiviare documenti o informazioni critici sui server.
  • Se l'applicazione utilizza la classe NSMetadataQuery, è necessario impostare un predicato, anche se il predicato stesso viene ignorato.
  • Il framework Foundation non include l'ID del team quando si cerca il contenitore di documenti mobili di un'app. L'ID del team deve essere incluso all'inizio della stringa dell'identificatore passata al metodo URLForUbiquityContainerIdentifier:.
  • NOVITÀ: in questa versione beta, il metodo setSortDescriptors: di NSMetadataQuery non è supportato.
  • NOVITÀ: in questa versione beta, se desideri utilizzare iCloud, devi specificare manualmente vari identificatori del contenitore (il set Display della tua applicazione) all'interno di un file Entitlements per entrambi i tuoi progetti Mac OS X e iOS.
  • NOVITÀ: si verificano problemi nell'utilizzo dell'API dei documenti Cloud Storage insieme ai dati protetti che possono portare al danneggiamento dei dati.
  • NOVITÀ: in questa versione beta, le applicazioni basate su documenti non sono sempre in grado di rilevare quando i file vengono modificati, spostati o eliminati da sotto.
  • NOVITÀ: in questa beta, i presentatori di file (oggetti che adottano il protocollo NSFilePresenter) non ricevono alcuni dei messaggi che dovrebbero ricevere, in particolare:
  • presentatoItemDidChange
  • articolo secondario presentatoDidAppearAtURL:
  • articolo secondario presentatoDidChangeAtURL:
  • Puoi risolvere questo problema implementando il metodo relinquishPresentedItemToWriter: e controllando se lo scrittore ha effettivamente scritto quando il presentatore del file viene riacquisito. È inoltre possibile utilizzare FSEvents per osservare le modifiche del file system
  • NOVITÀ: in questa versione beta, i messaggi sulle modifiche ai file in una directory non vengono recapitati agli oggetti che adottano il protocollo NSFilePresenter.
  • Quando segnali un bug relativo alle interfacce di archiviazione di iCloud, includi i log raccolti durante la sessione di debug. Per generare questi log, devi installare uno speciale profilo di debug sul tuo dispositivo.
  • Il profilo di debug può essere ottenuto da http://connect.apple.com. Questo profilo consente la generazione di log di debug necessari per diagnosticare eventuali problemi utilizzando l'archiviazione iCloud. Le istruzioni per raccogliere i log sono:
  • Installa il profilo. (Il modo più semplice per farlo è inviarlo a te stesso e aprire l'allegato sul loro dispositivo.)
  • Riprodurre l'errore.
  • Sincronizza con iTunes per estrarre i registri dal tuo dispositivo.
  • Allega i log alla tua segnalazione di bug. Puoi trovare i log in ~/Library/Logs/CrashReporter/MobileDevice/DeviceName/DiagnosticLogs.
  • Questi log possono diventare grandi rapidamente, quindi dovresti rimuovere il profilo dopo aver riprodotto il problema e estratto i log per la segnalazione del bug.

iMessage

  • NOVITÀ: il seed 2 di iMessage non sarà in grado di comunicare con gli utenti di iMessage sul seed 1.
  • RISOLTO: Scorrere l'interruttore di attivazione/disattivazione di iMessage e l'interruttore di attivazione/disattivazione dei messaggi MMS in Impostazioni causa l'arresto anomalo. Il semplice tocco o la commutazione non provoca l'arresto anomalo delle impostazioni.
  • RISOLTO: In una conversazione iMessage, gli allegati video/audio non possono essere visualizzati nella trascrizione su entrambi i lati della conversazione.

iTunes

  • La versione di iTunes fornita con la beta 2 non può sincronizzare i dispositivi su cui è installato il software beta 1. Per evitare questo problema, procedere come segue:
  • Sincronizza tutti i dispositivi su cui è installata la beta 1 con la versione di iTunes fornita con la beta 1.
  • Aggiorna iTunes alla versione fornita con la beta 2.
  • Collega il dispositivo e installa il software beta 2. (Tieni presente che potresti visualizzare un errore di sincronizzazione non riuscita quando colleghi il dispositivo per la prima volta.)
  • Dopo aver installato il software beta 2, ripristina dal backup effettuato nel passaggio 1.

MMS

  • NOVITÀ: l'invio di un MMS di video di grandi dimensioni non funziona.

Foto regolazioni

  • Se applichi la regolazione dell'effetto occhi rossi in iOS e importi l'immagine nella build seed di iPhoto, le regolazioni dell'effetto occhi rossi non verranno visualizzate su quell'immagine in iPhoto. Di conseguenza, la successiva sincronizzazione dell'immagine sul dispositivo iOS da iPhoto non mostrerà le regolazioni degli occhi rossi.

Promemoria

  • NOVITÀ: l'applicazione Promemoria non invia notifiche per promemoria basati sull'ingresso (e/o uscita) da una posizione se non è associata una data al promemoria.

Impostazioni profilo

  • NOVITÀ: il pulsante "Esegui il backup adesso" è abilitato senza che la classe dei dati di backup sia abilitata per l'account.
  • NOVITÀ: se visualizzi la tastiera dei termini in Impostazioni->Generali->Aggiornamento software, non puoi eliminarla. Devi forzare l'uscita dalle Impostazioni per uscire.

Trampolino

  • Le notifiche push e locali per le app vengono visualizzate nel nuovo Centro notifiche in iOS 5.0. Centro notifiche visualizza le notifiche considerate "non lette". Per gestire le notifiche push e locali che non hanno lo stato "non letto", gli sviluppatori possono utilizzare il conteggio dei badge dell'applicazione per attivare la cancellazione delle notifiche dal Centro notifiche. Quando un'applicazione cancella il conteggio dei badge (impostandolo su zero), iOS 5 cancellerà le sue notifiche dal Centro notifiche.
  • Si consiglia vivamente agli sviluppatori di non eseguire o eseguire il debug delle applicazioni sul dispositivo prima di aver completato la configurazione assistita del dispositivo. Ciò porterà a un comportamento imprevisto e sarà un'operazione impedita in una versione futura.

Automazione dell'interfaccia utente

  • I pulsanti di riproduzione e registrazione nell'editor di script dello strumento Automazione potrebbero non funzionare correttamente dopo aver preso di mira un'applicazione avviata da una sessione di traccia e terminata. Potrebbero anche non funzionare se si sceglie come target un'applicazione sospesa. Se riscontri questo problema e persiste, potrebbe essere necessario chiudere e riaprire il documento di traccia per tornare in uno stato funzionale.
  • Quando si acquisiscono azioni in uno script utilizzando lo strumento Automazione, le interfacce con visualizzazioni Web o celle di tabella che contengono un numero elevato di elementi fuori schermo possono impiegare molto tempo prima di restituire un'espressione.
  • Le funzioni lock() e sblocca() di UIATarget sono state sostituite con lockForDuration( ) funzione.
  • Instruments sovrascrive lo script di automazione caricato, anche se un altro programma lo sta modificando.
  • A partire da iOS 5.0, beta 2 ora puoi attivare l'esecuzione di uno script di UI Automation su un dispositivo iOS dal terminale host utilizzando lo strumento Instruments. Il comando è:
  • strumenti -w T

UIKit

  • NOVITÀ: restituire nil dal metodo tableView:viewForHeaderInSection: (o il suo equivalente footer) non è più sufficiente per nascondere un'intestazione. È necessario sovrascrivere tableView:heightForHeaderInSection: e restituire 0.0 per nascondere un'intestazione.
  • Nella versione beta di iOS 5, la classe UITableView dispone di due metodi per spostare una cella da una riga all'altra con parametri definiti. Queste API hanno:
  • spostaSezione:inSezione:
  • moveRowAtIndexPath:toIndexPath:
  • A partire da iOS 5, la proprietà ExclusiveTouch di UIControl è impostata su SÌ per impostazione predefinita.
  • Utilizzando la classe UIWebView in Interface Builder, è possibile impostare il colore di sfondo trasparente in iOS 5. Gli sviluppatori che compilano con il nuovo SDK possono controllare il proprio XIB per l'impostazione trasparente di UIWebView.
  • Nella beta di iOS 5, le implementazioni UINavigationBar, UIToolbar e UITabBar sono cambiate in modo che il metodo drawRect: non venga chiamato sulle istanze di queste classi a meno che non sia implementato in una sottoclasse. Le app che hanno reimplementato drawRect: in una categoria in una qualsiasi di queste classi scopriranno che il metodo drawRect: non viene chiamato. UIKit esegue il controllo dei collegamenti per evitare che il metodo venga chiamato nelle app collegate prima di iOS 5 ma non supporta questo design su iOS 5 o versioni successive. Le app possono:
  • Utilizza l'API di personalizzazione per le barre in iOS 5 e versioni successive, che è il modo preferito.
  • Sottoclasse UINavigationBar (o le altre classi di barre) e sovrascrivi drawRect: nella sottoclasse.
  • I metodi indexPathForRow:inSection:, sezione e riga di NSIndexPath ora utilizzano NSInteger anziché NSUInteger, in modo che questi tipi corrispondano ai metodi definiti su UITableView.
  • Esiste un problema noto con la presentazione di un oggetto UIVideoEditorController in cui non viene mostrato il video selezionato, che appare invece vuoto. In alcuni casi potrebbe anche bloccarsi.
  • Gli eventi di tocco non vengono inoltrati alla vista nella proprietà cameraOverlayView di UIImagePickerController.
  • NOVITÀ: il metodo imagePickerController:didFinishPickingMediaWithInfo: di UIImagePickerController non restituisce un URL al video al termine della registrazione.
  • NOVITÀ: quando si crea un nuovo appuntamento nell'app Calendario su un dispositivo che utilizza l'orologio a 24 ore, non è possibile selezionare un valore dell'ora maggiore di 12. Il valore del selettore data-ora imposta il giorno della settimana corrente in modo che sia lo stesso del giorno precedente (ad esempio: un appuntamento martedì verrà impostato come lunedì).
  • NOVITÀ: abbiamo modificato il comportamento di scrollToRowAtIndexPath:atScrollPosition:animated: in modo tale che UITableViewScrollPositionTop e UITableViewScrollPositionBottom ora si adattino alle parti superiore e inferiore della proprietà contentInset.

WebKit

  • NOVITÀ: in iOS 5.0 beta 2 è disponibile una nuova proprietà CSS ereditata, -webkit-overflow-scrolling. Il value touch consente allo sviluppatore web di attivare lo scorrimento in stile nativo in un elemento overflow:scroll. Il valore predefinito per questa proprietà è auto.
  • Il framework WebKit ha adottato un motore WebKit più recente, che corrisponde molto da vicino a Safari 5.1. Alcune aree da tenere presente con il nuovo framework WebKit su iOS:
  • C'è un nuovo parser compatibile con HTML5.
  • La larghezza del layout del testo potrebbe cambiare leggermente perché il comportamento di arrotondamento delle parole ora ha una precisione basata sulla virgola mobile.
  • È stata migliorata la convalida di campo modulo, che include la rimozione degli zeri iniziali e la formattazione dei numeri.
  • Gli eventi touch sono ora supportati nei campi di input.
  • window.onerror è ora supportato.

Sincronizzazione Wi-Fi

  • In iOS 5.0 beta 2, la sincronizzazione wireless è ora disponibile per Mac. Richiede iTunes 10.5 beta 2 e OS X 10.6.8 o Lion. Vedrai un'opzione per abilitare la sincronizzazione wireless quando colleghi il tuo dispositivo a iTunes con il cavo USB. Si consiglia di eseguire la sincronizzazione iniziale con un cavo dopo aver ripristinato il dispositivo.
  • La sincronizzazione wireless viene attivata automaticamente quando il dispositivo è collegato all'alimentazione e sulla stessa rete del computer associato. In alternativa, puoi attivare manualmente una sincronizzazione da iTunes o da Impostazioni -> Generali -> Sincronizzazione iTunes (è richiesta la stessa rete del computer associato). Assicurati che il tuo dispositivo sia collegato a una fonte di alimentazione quando esegui le sincronizzazioni wireless.
  • Se riscontri problemi con app, contenuti multimediali e/o foto sincronizzati sul tuo dispositivo, puoi reimpostare e quindi sincronizzare nuovamente. Da Impostazioni -> Generali -> Ripristina, scegli Cancella tutto il contenuto e le impostazioni. Quindi riconnettiti a iTunes e sincronizza nuovamente.
  • In questa beta, iTunes potrebbe erroneamente segnalare le foto come "Altro" nella barra della capacità. Per il resto la sincronizzazione delle foto funziona come previsto.

Xcode

  • Ti consigliamo vivamente di eseguire il backup del tuo dispositivo utilizzando iTunes prima del ripristino.
  • In alcuni casi, Xcode 4.2 Organizer non visualizza un dispositivo che è in modalità di ripristino. Come soluzione alternativa puoi utilizzare iTunes per ripristinare.
  • Su alcuni computer desktop, l'utilizzo della memoria di Xcode aumenta in modo incredibilmente veloce durante il ripristino di un dispositivo o la copia di un IPSW. Come soluzione alternativa, utilizza iTunes per ripristinare.
  • A volte Xcode 4.2 passa a uno schema errato o esegue la destinazione dopo un aggiornamento su disco.
  • In questa versione beta, i registri degli arresti anomali (sia non simbolizzati che simbolizzati) non vengono visualizzati in Xcode Organizer. Per farli apparire nell'Xcode Organizer, dovrai rinominare il dispositivo.
  • NOVITÀ: in iOS 5.0 beta 2, il simulatore iOS non è compatibile con le versioni precedenti di iCloud Developer Seed per OS X. Si consiglia vivamente di aggiornare all'ultima iCloud Developer Seed per garantire la compatibilità.