iOS 10 beta 6 è stato rilasciato per iPhone e iPad

iOS beta 10 6 È stata rilasciata questa sera per iPhone e iPad, la società Apple offre agli sviluppatori di applicazioni per iDevices la possibilità di testare l'ultima versione del suo sistema operativo, il cui rilascio è avvenuto solo una settimana prima di quella precedente preparata dagli americani .

Si tratta di accelerare il periodo di beta testing di iOS 10, offerto da Apple iOS beta 10 6 molto velocemente dopo la versione precedente, e questo significa che presto avremo a disposizione anche la versione GM, quelli di Cupertino cercano di risolvere tutti i problemi esistenti il ​​più velocemente possibile.

Sviluppatori di app per la piattaforma iOS interessati ai test iOS beta 10 6 può scaricare il relativo profilo dal proprio account sviluppatore, ma chi ha già installata una versione precedente può seguire la procedura da Impostazioni> Generali> Aggiornamento software, Impostazioni > Generali > Aggiornamento software, per eseguire l'installazione.

Considerando l'urgenza di quelle di Apple, c'è da aspettarselo la presentazione dell'iPhone 7 il 7 settembre a dire il vero, altrimenti non ci sarebbe stato motivo di accelerare il processo di rilascio delle nuove build di iOS 10, dato che anche quelli di Apple probabilmente hanno molti feedback sui problemi scoperti dagli utenti in iOS 10.

Tutte le novità scoperte in iOS 10 beta 6 saranno elencate in questo articolo.

AGGIORNAMENTO: iOS 10 beta pubblica 5 è stato rilasciato anche agli utenti.

UPDATE 2: guarda OS 3 beta 6 è stato anche rilasciato.

UPDATE 3: TV OS 10 beta 6 è stato rilasciato.

UPDATE 4: Ecco le novità:

  1. I problemi con la scelta degli sfondi sono stati risolti.

UPDATE 5: macOS Sierra beta 6 è stata rilasciata.

Funzionalità non presente in iOS 10 beta 6
Funzionalità che richiedono l'adozione da parte delle app dell'App Store, come le app iMessage, SiriKit e Mappe
estensioni, non saranno disponibili finché tali app non saranno in grado di adottare e inviare allo Store.
Risolto il problema in questa versione
Messaggi
• I suggerimenti per la ricerca ora funzioneranno come previsto nell'archivio messaggi.
• Quando si avvia un'estensione dell'app iMessage da iOS Simulator, l'estensione dell'app non dovrebbe essere n
sarà più vuoto o smetterà di rispondere all'input tattile.
Siri
Siri ora fornirà una risposta appropriata quando una richiesta richiede la rimozione di un'app.
Sirikit
• La proprietà dell'identificatore su INIntent ora cambia in modo appropriato tra le richieste Siri.
• Il risultato della risoluzione di needMoreDetails(for:) ora funziona.
Xcode
Se una StickerSequence viene aggiunta a un pacchetto di adesivi e lasciata vuota, o se vengono aggiunti fotogrammi di dimensioni diverse, il file
L'app del pacchetto di adesivi non sarà più vuota una volta distribuita.
Note e problemi noti
Fondazione AV
Note:
In iOS 10 beta 3, i nomi dei metodi AVCapturePhotoCaptureDelegate opzionali
didFinishProcessingPhoto e didFinishProcessingRawPhoto sono stati modificati in
didFinishProcessingPhotoSampleBuffer:previewPhotoSampleBuffer:resolvedSetting
s:bracketSettings:errore: e
didFinishProcessingPhotoSampleBuffer:previewPhotoSampleBuffer:resolvedSetting
s:bracketSettings:error:, rispettivamente. Codice che utilizza i nomi precedenti (come WWDC
versione del progetto di esempio AVCamManual) continuerà la compilazione, ma i callback delegati più vecchi
non verrà eseguito.
Compatibilità binaria
• Apple riserva i prefissi di due lettere da utilizzare nelle classi framework. Quando dai un nome alle tue classi,
si prega di utilizzare un prefisso di tre lettere. Le linee guida possono essere riviste qui:
 Copyright © 2016 Apple Inc. Tutti i diritti riservati. Termini di utilizzo. Politica sulla riservatezza. Pagina 3 di 9
https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/
ProgrammazioneConObiettivoC/Conventions/Conventions.html
La mancata osservanza di queste linee guida potrebbe causare l'arresto anomalo dell'app durante le versioni beta del software.
• Dopo la ricompilazione con iOS 10.0, la chiamata a [NSObject valueForKey:] con una chiave nil genera un
eccezione. In precedenza, ciò portava a un comportamento indefinito; ora causa l'arresto anomalo della tua app.
• Fare riferimento a un font di sistema per nome in una chiamata a +[UIFont fontWithName:size:] causa a
incidente. Per ulteriori informazioni, vedere https://developer.apple.com/videos/play/wwdc2015/804/
• Per migliorare la privacy del cliente, https:// URL, NSURLSession e NSURLConnection n
non supportano più le suite di crittografia RC4 durante l'handshake TLS. Le app e i servizi interessati dovrebbero
aggiornare i server Web per utilizzare suite di crittografia più moderne.
• Le app potrebbero bloccarsi se modificano la geometria di una superview in viewWillLayoutSubviews o
layoutSubviews.
• NSURLConnection non consente le connessioni che utilizzano versioni del protocollo TLS inferiori al protocollo
versione specificata da una policy ATS tramite NSExceptionMinimumTLSVersion o
Chiavi NSThirdPartyExceptionMinimumTLSVersion. Le app e i servizi interessati dovrebbero
aggiornare i server Web per utilizzare versioni del protocollo TLS più moderne.
Protocollo HTTP CFNetwork
La classe NSMutableURLRequest richiede che la proprietà HTTPBodyStream non sia aperta
stream e le classi NSURLConnection e NSURLSession ora lo applicano rigorosamente non aperto
requisito del flusso. Le app interessate dovrebbero garantire che qualsiasi NSInputStream fornito non lo abbia ancora fatto
stato aperto.
Cloud Kit
Quando si compila ed si esegue ripetutamente da Xcode, le operazioni di lunga durata possono fallire con un messaggio "Non hai
permesso di salvare il file” errore perché il percorso del contenitore cambia ripetutamente.
FaceTime
Le chiamate FaceTime tra questa versione beta e le versioni beta precedenti di iOS e macOS non sono supportate. Per favore aggiorna il tuo
Mac e iPhone all'ultima versione.
HomeKit
L'aggiunta degli accessori WAC HomeKit potrebbe non riuscire utilizzando l'app Home se le credenziali di rete non sono le prime
fornito utilizzando l'opzione Impostazioni > Wi-Fi > Configura nuovo dispositivo.
Soluzione alternativa: se l'aggiunta di un accessorio HomeKit di questo tipo non riesce, fornire le credenziali di rete utilizzando Impostazioni >
Wi-Fi > Configura nuovo dispositivo. Dopo che l'accessorio si è connesso alla rete, è possibile aggiungere l'accessorio
utilizzando l'app Casa.
libdispatch
Libdispatch asserisce se è stato rilevato un blocco a causa di un deadlock in dispatch_barrier_sync.
 Copyright © 2016 Apple Inc. Tutti i diritti riservati. Termini di utilizzo. Politica sulla riservatezza. Pagina 4 di 9
Messaggi
• Quando UISearchController e UITableViewController vengono utilizzati nelle estensioni Messaggi,
il loro contenuto può essere nascosto sotto la barra superiore.
Soluzione alternativa: utilizza inserti di circa 80 px in alto e 40 px in basso.
• Solo nel simulatore, quando localizzatoChangeDescription in insertMessage:
localizedChangeDescription:completionHandler: il metodo è impostato su
$localParticipantIdentifier.UUIDString, il
$localParticipantIdentifier.UUIDString non viene sostituito con l'ID messaggi dell'utente,
e UUIDString viene stampato così com'è.
• Quando l'app Messaggi nel Simulatore viene chiusa forzatamente, la cronologia dei messaggi viene persa.
• Quando un oggetto UIAlertController viene presentato in un'estensione Messaggi, viene troncato da
barra inferiore dell'estensione.
• Se viene visualizzata una finestra di dialogo di accesso durante l'esecuzione di un acquisto in-app o il tentativo di acquistare contenuto
dal negozio, o il negozio o l'estensione verranno ignorati.
• L'UUID del partecipante locale è lo stesso per entrambi i partecipanti alla conversazione solo nel simulatore.
Soluzione alternativa: utilizzare un dispositivo per testare i confronti UUID.
• Durante la lettura dei messaggi, Siri non descrive accuratamente i nuovi tipi o funzionalità dei messaggi.
Mobile Device Management
• A partire da iOS 10, i payload SCEP non vengono più impostati su MD5 se un server SCEP non riesce a restituire un
CACaps o non rivendica la funzionalità per SHA-1, SHA-256 o SHA-512 in CACaps.
Se un server SCEP non risponde a GetCACaps, verrà presupposto e utilizzato SHA-1 per SCEP
tentativo.
Se i server SCEP rispondono a GetCACaps, il server deve annotare che hanno SHA-1, SHA-256 o
La funzionalità SHA-512 o la richiesta di registrazione SCEP non sono riuscite a causa di funzionalità insufficienti.
Per ulteriori informazioni, consulta la sessione del WWDC 2016 Novità nella gestione dei dispositivi Apple.
• Per incoraggiare un utilizzo più efficace del passcode, iOS 10 chiederà sempre all'utente di creare una password
almeno 6 caratteri su un dispositivo compatibile con TouchID anche se è in atto una politica di passcode che lo consente
codici di accesso più brevi. In questo caso gli utenti possono comunque inserire un passcode più breve che soddisfi il passcode
politica.
Musica
Note su Apple Music in iOS 10 beta 6:
• Riprodotti di recente in For You potrebbero non aggiornarsi immediatamente.
• MPMediaPickerController potrebbe non essere visualizzato come previsto.
• L'eliminazione di Apple Music potrebbe impedire ad alcuni accessori di riprodurre audiolibri, podcast e
muore. Scarica Apple Music dall'App Store per ripristinare la riproduzione.
• Il widget di oggi per la musica potrebbe non mostrare tutta la musica riprodotta di recente.
Quando sei connesso a un'auto, alcune funzionalità potrebbero non funzionare come previsto:
• La modifica di Successivo potrebbe interrompere inaspettatamente la riproduzione.
 Copyright © 2016 Apple Inc. Tutti i diritti riservati. Termini di utilizzo. Politica sulla riservatezza. Pagina 5 di 9
• Durante l'utilizzo di CarPlay, Visualizza tutte le stazioni non visualizza ancora tutte le stazioni.
Note
Le note potrebbero chiudersi inaspettatamente.
Soluzione alternativa: disattiva e attiva Note in Impostazioni > Generali > iCloud.
NSUserActivity
Un oggetto NSUserActivity potrebbe non avere userInfo dopo l'handoff.
Soluzione alternativa: chiamare esplicitamente getCurrent sull'oggetto attività.
Telefono
La trascrizione dei messaggi vocali (beta) è disponibile su iPhone 6s, iPhone 6s Plus e iPhone SE con la lingua Siri
impostato su inglese (Stati Uniti o Canada).
Foto
• La sincronizzazione delle persone non è abilitata tramite la libreria foto di iCloud in iOS 10.
• Memorie, Correlati, Persone e Scena non sono supportati sui dispositivi a 32 bit.
Safari
• WebGeolocalizzazione ora richiede un sito Web sicuro (HTTPS) per funzionare sia su iOS che su macOS
prevenire l'uso dannoso dei dati sulla posizione.
• WKWebView ora rispetta per impostazione predefinita user-scalable=no da una finestra. Clienti di WKWebView
può migliorare l'accessibilità e consentire agli utenti di pizzicare per ingrandire tutte le pagine impostando il file
La proprietà WKWebViewConfiguration ignoraViewportScaleLimits su YES.
• SFSafariViewControllerConfiguration e -[SFSafariViewController
initWithURL:configuration:] Le API sono state rimosse e –
[SFSafariViewController initWithURL:entersReaderIfAvailable:] non è più
contrassegnato come deprecato. La proprietà favoriteBarTintColor è stata spostata in
SFSafariViewController, insieme a una nuova proprietà favoriteControlTintColor
quali client dovrebbero utilizzare invece di impostare tintColor direttamente sulla vista. App collegate su iOS
10 o versioni successive non inoltreranno più il colore della tinta della vista a SFSafariViewController.
Swift Playgrounds
Swift Playgrounds è una nuovissima app progettata per aiutare le persone a imparare a programmare con Swift 3.
Offre contenuti scaricabili, tra cui Impara a programmare Parte 1 e Impara a programmare Parte 2, che insegna
i fondamenti della programmazione in Swift e altre sfide che puoi esplorare. Puoi anche
sperimenta da solo creando parchi giochi basati sui modelli, crea un parco giochi vuoto o
parchi giochi aperti creati in Xcode.
Swift Playgrounds è incluso in iOS 10 beta 6.
Swift Playgrounds beta 6 contiene Impara a programmare parte 1 e Impara a programmare parte 2.
 Copyright © 2016 Apple Inc. Tutti i diritti riservati. Termini di utilizzo. Politica sulla riservatezza. Pagina 6 di 9
Note
• I parchi giochi che non sono archiviati in iCloud non sono disponibili quando si aggiorna alla versione di Swift
Playgrounds sarà disponibile sull'App Store questo autunno. Per mantenere i tuoi campi da gioco, attiva iCloud o
usa il foglio di condivisione su AirDrop, invia messaggi o invia tramite e-mail i tuoi campi da gioco per il backup su un altro
computer o dispositivo prima di passare alla versione finale di Swift Playgrounds.
• Swift Playgrounds beta 6 utilizza l'anteprima 3.0 di Swift 4 (swiftlang-800.0.41.1). Codice scritto utilizzando
altre versioni di Swift potrebbero non funzionare in Swift Playgrounds beta 6.
• I parchi giochi creati con Swift Playgrounds beta da 1 a 4 non vengono eseguiti correttamente in Swift
Playgrounds beta 6. Allo stesso modo, i parchi giochi resi disponibili per Swift Playgrounds beta 6 non lo fanno
eseguito correttamente quando eseguito su Swift Playgrounds beta da 1 a 4. Questa limitazione include
campi da gioco in Impara a programmare.
• Swift Playgrounds su iPad non tiene traccia se hai espanso una Visualizzazione rapida in linea
per i valori nell'editor. Ad esempio, se modifichi un parco giochi Swift 3 che aveva un file Quick
Guarda, le visualizzazioni rapide vengono compresse quando salvi.
• AVFoundation è disponibile, ma l'acquisizione dell'input non restituisce nulla.
Ad esempio, AVCapturePreviewLayer è sempre un livello trasparente vuoto.
• Un problema impedisce il rendering delle viste SceneKit (SCNView) all'interno di Swift Playgrounds quando
la fotocamera attuale (SCNCamera) utilizza nuovi effetti, come la gradazione del colore, le frange di colore, ecc
saturazione e contrasto.
• Il framework GameController è disponibile e sembra connettersi correttamente ai controller, ma
I blocchi del gestore di pulsanti non vengono mai chiamati.
UIKit
Note
Prima di iOS 10, era possibile sovrascrivere [UIStackView initWithArrangedSubviews:],
ma questo era inteso come un comodo inizializzatore e implementato come tale. Lo abbiamo adesso
applicato questo nelle intestazioni. Di conseguenza, i client Swift non possono più sovrascrivere questo metodo, perché
Le regole dell'inizializzatore Swift impediscono l'override di un inizializzatore di convenienza.
• In iOS 10, UIKit ha aggiornato e unificato la gestione in background per UINavigationBar,
UITabBar e UIToolbar. In particolare, le modifiche alle proprietà dello sfondo di queste visualizzazioni (come ad esempio
come immagini di sfondo o ombra, o l'impostazione dello stile della barra) può dare il via a un passaggio di layout per la barra
risolvere il nuovo aspetto dello sfondo.
In particolare, ciò significa che tenta di modificare l'aspetto dello sfondo di queste barre all'interno
di -[UIView layoutSubviews], -[UIView updateConstraints], -[UIViewController
willLayoutSubviews], -[UIViewController didLayoutSubviews], –
[UIViewController updateViewConstraints] o qualsiasi altro metodo richiamato
la risposta al layout può provocare un ciclo di layout.
In alcuni casi è possibile interrompere questi cicli di layout assicurandosi di utilizzare sempre lo stesso oggetto
esempio quando sono richiesti oggetti (come UIImage o UIColor). Ma in generale dovresti
evitare di farlo.
Poiché tutti i parametri di aspetto vengono ora risolti contemporaneamente, potrebbero esserci alcuni casi in cui
l'aspetto del tuo bar è cambiato. In generale, i risultati migliori si ottengono specificando un valore minimo pari a
possibile per personalizzare il tuo bar. Ad esempio, se stai specificando un valore barTintColor e
specificando un oggetto UIImage vuoto per la proprietà backgroundImage (come nel caso in cui
chiami [UIImage new], ad esempio), dovresti ottenere risultati migliori specificando solo il file
barTintColor. Anche tutte le modifiche apportate per risolvere questi problemi in iOS 10 dovrebbero funzionare
 Copyright © 2016 Apple Inc. Tutti i diritti riservati. Termini di utilizzo. Politica sulla riservatezza. Pagina 7 di 9
correttamente in iOS 9: in caso contrario, segnala i bug con un progetto di esempio e un file
screenshot che indica come dovrebbero apparire le barre.
• In iOS 10, c'è un leggero cambiamento nel comportamento di UIGestureRecognizer quando si rimuove una corrente
riconoscendo il riconoscimento dei gesti (ovvero durante il volo) dal suo UIView. In precedenza, rimuovendo il
il riconoscimento dei gesti a metà volo non annullerebbe esplicitamente il riconoscimento dei gesti, consentendoti di farlo
aggiungere nuovamente il riconoscimento dei gesti alla stessa vista o a una vista diversa. In iOS 10, chiamando:
[UIViewremoveGestureRecognizer:] sulla vista di un riconoscimento dei gesti durante il volo
annulla esplicitamente il riconoscimento dei gesti. Se un utente desidera modificare la visualizzazione di un gesto durante il volo
riconoscitore, puoi semplicemente chiamare -[UIView addGestureRecognizer:] sulla vista che desideri
spostare il riconoscimento dei gesti in.
• I controller della vista presentata ora possono influenzare l'aspetto della barra di stato anche se sono stati presentati
da un controller di visualizzazione che non ha influito sulla barra di stato (ad esempio, un popover). Per impostazione predefinita,
si presuppone che le presentazioni personalizzate del controller di visualizzazione non influenzino la barra di stato; Usa il
modalPresentationCapturesStatusBarAppearance su UIViewController a
consentire a un controller della vista presentata di partecipare all'aspetto della barra di stato.
• È sempre stato un requisito che le sottoclassi UIViewController chiamassero super
implementazione di -awakeFromNib dai propri override. A partire da iOS 10, –
awakeFromNib è annotato correttamente con l'attributo NS_REQUIRES_SUPER da rilevare
implementazioni che non rispettano questo requisito. Per correggere questo avviso, assicurati che tutti i percorsi del codice
della tua chiamata di override [super awakeFromNib].
• Quando si esegue su iPad, il colore di sfondo impostato per UITableViewCell in uno Storyboard è ora
rispettata.
• A partire da iOS 10, UITableViewHeaderFooterView supporta NSCoding, quindi se una vista con questo
è in un XIB, ora viene decodificato correttamente. La conseguenza è che le app potrebbero mostrare qualcosa in più
contenuto per queste visualizzazioni che non veniva visualizzato prima a causa del bug risolto.
• Per visualizzazioni di tabelle molto ampie in cui i margini del layout delle celle sono stati aumentati automaticamente per seguire
la larghezza leggibile, gli inserti separatori vengono ora interpretati rispetto a questi margini sinistro e destro
anziché dai bordi della vista tabella.
• La fusione della consegna UITouch è stata notevolmente migliorata, soprattutto nei casi in cui
gli utenti toccherebbero lo schermo e utilizzerebbero Apple Pencil contemporaneamente su iPad Pro e
l'app non è stata in grado di elaborarli alla velocità in entrata. In alcuni scenari, gli eventi possono ancora verificarsi
ad una velocità maggiore rispetto all'aggiornamento del display. Questo è previsto e la tua app dovrebbe anticiparlo
e gestire di conseguenza.
• In iOS 10, le finestre che non sono a schermo intero non influiscono sull'aspetto della barra di stato.
• Non è previsto che l'invio di -layoutIfNeeded a una vista sposti la vista, ma nelle versioni precedenti, se
la vista aveva translationsAutoresizingMaskIntoConstraints == false e se lo era
essendo posizionato da vincoli, -layoutIfNeeded sposterà la vista per adattarla al layout
motore prima di inviare il layout al sottoalbero.
Queste modifiche correggono questo comportamento e la posizione del ricevitore e solitamente la sua dimensione non lo saranno
influenzato da -layoutIfNeeded.
Parte del codice esistente potrebbe fare affidamento su questo comportamento errato che ora è stato corretto. Non c'è
cambiamento di comportamento per i file binari collegati prima di iOS 10, ma quando si compila su iOS 10 potrebbe essere necessario
correggere alcune situazioni inviando -layoutIfNeeded alla supervisione del
TranslatesAutoresizingMaskIntoConstraints == falsa vista che era la precedente
ricevitore, oppure posizionandolo e dimensionandolo prima (o dopo, a seconda del comportamento desiderato) –
layoutSe necessario.
• App di terze parti con sottoclassi UIView personalizzate che utilizzano il layout automatico che esegue l'override
layoutSubview e layout sporchi su self prima di chiamare super rischiano di attivare un layout
 Copyright © 2016 Apple Inc. Tutti i diritti riservati. Termini di utilizzo. Politica sulla riservatezza. Pagina 8 di 9
ciclo di feedback quando vengono ricostruiti su iOS 10. Quando vengono inviati correttamente successivamente –
layoutSubviews devono essere sicuri di smettere di sporcare il layout su se stessi ad un certo punto (nota che
questa chiamata è stata saltata nella versione precedente a iOS 10).
• Le immagini ribaltabili funzionano avendo due immagini in una risorsa, ciascuna con un tratto di direzionalità diverso.
Quando crei un oggetto UIImage derivato utilizzando i metodi -imageWith…, non lo è più
associato alla risorsa immagine da cui proviene. Per creare un'immagine modello sfogliabile in fase di esecuzione, utilizzare
UIImageAsset.
• L'origine della notifica UIContentSizeCategoryDidChangeNotification è adesso
UIScreen.main() invece di UIApplication.shared().
• Sono presenti due proprietà nella classe UIViewPropertyAnimator e un metodo in
Protocollo UIViewAnimating non disponibile in iOS 10 beta 1.
UIViewPropertyAnimator:
@property(nonatomic, getter=isManualHitTestingEnabled) BOOL
manualHitTestingEnabled;
@property(nonatomic, readonly) Ritardo NSTimeInterval;
UIViewAnimazione:
(void)startAnimationAfterDelay:(NSTimeInterval)ritardo;
Problema conosciuto
Per gli oggetti UIImage creati da oggetti CIImage, i metodi di disegno UIImage
(drawInRect, drawAtPoint) verrà sempre convertito nello spazio colore DeviceRGB prima del disegno. Questo
comporta la perdita di informazioni estese sul colore quando si disegna in un contesto grafico con colori ampi.
Soluzione alternativa: è possibile recuperare l'CIImage sottostante tramite la proprietà UIImage.CIImage ed eseguire il rendering
utilizzando un CIContext creato con lo spazio colore appropriato (sRGB esteso) e il formato pixel (full-
galleggiante).
Un oggetto UIImage creato da CGImageRef non è interessato e verrà disegnato correttamente senza perdite
delle informazioni sul colore.
widget
La prima volta che esegui il debug di un widget (ovvero di un'estensione Oggi) su un dispositivo, non viene visualizzato come possibile
estensione.
Soluzione alternativa: eseguire nuovamente il debug per visualizzare l'estensione.
Xcode
Occasionalmente, l'utilizzo di Comando-Maiuscole-HH dalla schermata Home non richiama il commutatore di app.
Soluzione alternativa: avvia qualsiasi app prima di utilizzare Comando-Maiuscole-HH.