iOS 10.1 beta 1 è stato rilasciato

iOS 10.1 beta 1 è stato rilasciato pochi minuti fa per gli sviluppatori di app per iPhone, iPad e iPod Touch.

iOS 10.1 beta 1 è stato rilasciato pochi minuti fa dalla società Apple per gli sviluppatori di applicazioni per iPhone, iPad e iPod Touch di tutto il mondo. L'aggiornamento arriva appena una settimana dopo che la versione finale di iOS 10 è stata offerta al grande pubblico, con l'azienda Apple che probabilmente aveva preparato una serie di importanti novità.

Considerando che parliamo di iOS 10.1 beta 1 che è un aggiornamento della versione precedente, se sei uno sviluppatore di applicazioni, potresti dover scaricare un nuovo profilo. Puoi farlo direttamente dal tuo account sviluppatore che hai nel portale disponibile sul sito web di Apple.

Per ora quelli di Apple non hanno detto quali novità porterà iOS 10.1 beta 1 per gli utenti, ma sicuramente si parla di risolvere problemi con la Modalità Aereo, con le nuove cuffie EarPods, ma anche con l'adattatore Lightning. Tutti questi problemi sono stati segnalati per iPhone 7 e iPhone 7 Plus subito dopo il loro rilascio e verranno risolti da questo aggiornamento.

iOS 10.1 beta 1 è stato rilasciato

ios 10.1 beta 1Di seguito avete l'elenco completo delle novità di iOS 10.1 beta 1 e, come potete vedere, stiamo parlando di molte novità implementate da quelli di Cupertino. Molte delle modifiche sono legate alla correzione di bug del sistema operativo, quindi non c'è alcun riferimento alla modalità aereo o alle cuffie Lightning, ma le soluzioni sicuramente esistono.

AGGIORNAMENTO: è stata rilasciata anche watchOS 3.1 beta 1

UPDATE 2: è stato rilasciato anche macOS 10.12.1 beta 1.

Più presto…

Risolto il problema in questa versione
Movimento
I dati sulla pressione barometrica provenienti da CMAltimeter sono ora riportati su iPad Air 2, iPad mini 4 e
iPad Pro.
Note e problemi noti
Compatibilità binaria
• Apple riserva i prefissi di due lettere da utilizzare nelle classi framework. Quando dai un nome al tuo
classi, utilizzare un prefisso di tre lettere. Le linee guida possono essere riviste qui:
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 la versione beta del software
stampa.
• Dopo la ricompilazione con iOS 10, la chiamata a [NSObject valueForKey:] con un tasto nil genera
anno eccezionale. In precedenza, ciò portava a un comportamento indefinito; ora causa l'arresto anomalo della tua app.
• Il riferimento a un font di sistema per nome in una chiamata a +[UIFont fontWithName:size:] provoca
fare un 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. App e servizi interessati
dovrebbe 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 connessioni che utilizzano versioni del protocollo TLS inferiori a
versione del protocollo 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
requisito del flusso non aperto. Le app interessate dovrebbero garantire che qualsiasi NSInputStream che sia
fornito non è stato ancora aperto.
Cloud Kit
 Copyright © 2016 Apple Inc. Tutti i diritti riservati. Termini di utilizzo. Politica sulla riservatezza. Pagina 3 di 8
Quando si compila ed si esegue ripetutamente da Xcode, le operazioni di lunga durata possono fallire con un messaggio "You
non hanno l'autorizzazione per salvare il file” errore perché il percorso del contenitore cambia ripetutamente.
HomeKit
L'aggiunta degli accessori WAC HomeKit potrebbe non riuscire utilizzando l'app Home se le credenziali di rete lo sono
non fornito inizialmente 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, il file
gli accessori possono essere aggiunti utilizzando l'app Home.
libdispatch
Libdispatch asserisce se è stato rilevato un blocco a causa di un deadlock in dispatch_barrier_sync.
Messaggi
• Quando UISearchController e UITableViewController vengono utilizzati in Messaggi
estensioni, il loro contenuto può essere nascosto sotto la barra superiore.
Soluzione alternativa: utilizza inserti di circa 80 px nella parte superiore e 40 px nella parte inferiore.
• Solo nel simulatore, quando localizzatoChangeDescription in insertMessage:
localizedChangeDescription:completionHandler: il metodo è impostato su
$localParticipantIdentifier.UUIDString, il
$localParticipantIdentifier.UUIDString non viene sostituito con i messaggi dell'utente
ID 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
dalla barra inferiore dell'estensione.
• Se viene visualizzata una finestra di dialogo di accesso durante l'esecuzione di un acquisto in-app o un tentativo di acquisto
il contenuto dello store, lo store o l'estensione verranno ignorati.
• L'UUID del partecipante locale è lo stesso per entrambi i partecipanti alla conversazione nel simulatore
solo.
Soluzione alternativa: utilizzare un dispositivo per testare i confronti UUID.
Note
Le note potrebbero chiudersi inaspettatamente.
Soluzione alternativa: disattiva e attiva Note in Impostazioni > iCloud.
NSUserActivity
Un oggetto NSUserActivity potrebbe non avere userInfo dopo Handoff.
 Copyright © 2016 Apple Inc. Tutti i diritti riservati. Termini di utilizzo. Politica sulla riservatezza. Pagina 4 di 8
Soluzione alternativa: chiamare esplicitamente getCurrent sull'oggetto attività.
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 iOS
macOS per impedire 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 la proprietà WKWebViewConfiguration ignoresViewportScaleLimits 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.
UIKit
Note
• Prima di iOS 10, era possibile sovrascrivere [UIStackView
initWithArrangedSubviews:], ma questo era inteso come un inizializzatore di comodità e
implementato come tale. Ora lo abbiamo applicato nelle intestazioni. Di conseguenza, i client Swift
non può più sovrascrivere questo metodo, perché le regole dell'inizializzatore Swift impediscono la sovrascrittura di a
inizializzatore di convenienza.
• In iOS 10, UIKit ha aggiornato e unificato la gestione in background per UINavigationBar,
UITabBar e UIToolbar. In particolare, modifiche alle proprietà dello sfondo di queste visualizzazioni
(come immagini di sfondo o di ombra o l'impostazione dello stile della barra) possono avviare un layout
passa per la barra per risolvere il nuovo aspetto dello sfondo.
Ciò significa in particolare che si tenta di modificarne l'aspetto di sfondo
barre all'interno di -[UIView layoutSubviews], -[UIView updateConstraints], –
[UIViewController willLayoutSubviews], -[UIViewController
didLayoutSubviews], -[UIViewController updateViewConstraints] o qualsiasi altro
Il metodo chiamato in risposta al layout può provocare un ciclo di layout.
In alcuni casi è possibile interrompere questi cicli di layout assicurandosi di utilizzarli sempre
stessa istanza dell'oggetto quando sono richiesti oggetti (come UIImage o UIColor). Bevi dentro
generalmente dovresti evitare di farlo.
Poiché tutti i parametri di aspetto sono ora risolti contemporaneamente, potrebbero essercene alcuni
casi in cui l'aspetto del tuo bar è cambiato. In generale i risultati migliori si ottengono con
 Copyright © 2016 Apple Inc. Tutti i diritti riservati. Termini di utilizzo. Politica sulla riservatezza. Pagina 5 di 8
specificando il meno possibile per personalizzare la tua barra. Ad esempio, se stai specificando
un valore barTintColor e specificando un oggetto UIImage vuoto per backgroundImage
(come nel caso quando chiami [UIImage new], ad esempio), dovresti ottenere
risultati migliori specificando solo barTintColor. Eventuali modifiche apportate per risolvere
questi problemi in iOS 10 dovrebbero funzionare correttamente anche in iOS 9: in caso contrario, per favore
segnala bug con un progetto di esempio e uno screenshot che indica come dovrebbero apparire le barre
piace.
• In iOS 10, si verifica una leggera modifica del comportamento di UIGestureRecognizer durante la rimozione di un file
attualmente riconosce il riconoscimento dei gesti (ovvero durante il volo) dal suo UIView. In precedenza,
la rimozione del riconoscimento del gesto durante il volo non annullerebbe esplicitamente il gesto
riconosciutore, che consente di aggiungere nuovamente il riconoscimento dei gesti alla stessa vista o a a
visione diversa. In iOS 10, chiamando -[UIViewremoveGestureRecognizer:] sulla visualizzazione di
un riconoscimento dei gesti durante il volo annulla esplicitamente il riconoscimento dei gesti. Se un utente lo desidera
cambiare la visualizzazione di un riconoscimento dei gesti durante il volo, puoi semplicemente chiamare -[UIView
addGestureRecognizer:] sulla vista in cui desideri spostare il riconoscimento dei gesti.
• I controller della vista presentata ora possono influenzare l'aspetto della barra di stato anche se lo fossero
presentato da un controller di visualizzazione che non ha influito sulla barra di stato (ad esempio, a
popover). Per impostazione predefinita, si presuppone che le presentazioni personalizzate del controller di visualizzazione non influenzino il file
barra di stato; utilizzare la proprietà modalPresentationCapturesStatusBarAppearance su
UIViewController per consentire a un controller di visualizzazione presentato di partecipare alla barra di stato
aspetto.
• È 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 codici
percorsi della tua chiamata di override [super awakeFromNib].
• Quando si esegue su iPad, il colore di sfondo impostato per UITableViewCell in uno storyboard
ora è rispettato.
• A partire da iOS 10, UITableViewHeaderFooterView supporta NSCoding, quindi se una vista con
questa classe è in un XIB, ora viene decodificata correttamente. La conseguenza è che le app potrebbero esporre
alcuni contenuti extra per queste visualizzazioni che non apparivano prima a causa del bug che c'era
fisso.
• Per visualizzazioni di tabelle molto ampie in cui i margini del layout delle celle sono stati aumentati automaticamente
seguono la larghezza leggibile, gli inserti separatori vengono ora interpretati rispetto a questi a sinistra e
margini destri invece che dai bordi della vista tabella.
• La fusione della consegna UITouch è stata notevolmente migliorata, soprattutto nei casi
in cui gli utenti toccavano lo schermo e utilizzavano Apple Pencil contemporaneamente su iPad
Pro e l'app non sono stati in grado di elaborarli alla velocità in entrata. In alcuni scenari,
gli eventi possono comunque arrivare a una velocità maggiore rispetto all'aggiornamento del display. Questo è previsto e
la tua app dovrebbe anticiparlo e gestirla di conseguenza.
• In iOS 10, le finestre che non sono a schermo intero non influiscono sull'aspetto della barra di stato.
• L'invio di -layoutIfNeeded a una vista non dovrebbe spostare la vista, ma prima
release, se la vista avesse translationsAutoresizingMaskIntoConstraints == false,
e se fosse posizionato in base a vincoli, -layoutIfNeeded sposterà la vista su
abbinare il motore di layout prima di inviare il layout al sottoalbero.
 Copyright © 2016 Apple Inc. Tutti i diritti riservati. Termini di utilizzo. Politica sulla riservatezza. Pagina 6 di 8
Queste modifiche correggono questo comportamento, mentre la posizione del ricevitore e solitamente le sue dimensioni non lo faranno
essere influenzato da -layoutIfNeeded.
Parte del codice esistente potrebbe fare affidamento su questo comportamento errato che ora è stato corretto. Là
non c'è alcun cambiamento di comportamento per i file binari collegati prima di iOS 10, ma quando si compila su iOS 10 tu
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 delle vostre esigenze
comportamento) -layoutIfNeeded.
• 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
ciclo di feedback del layout quando vengono ricostruiti su iOS 10. Quando vengono inviati correttamente
le successive chiamate -layoutSubviews alle quali devono essere sicuri di smettere di sporcare il layout su se stessi
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 aspetto diverso
direzionalità vissuta. Quando crei un oggetto UIImage derivato utilizzando -imageWith...
metodi, non è più associato alla risorsa immagine da cui proviene. Per creare un
immagine modello ruotabile in fase di esecuzione, utilizzare UIImageAsset.
• L'origine della notifica UIContentSizeCategoryDidChangeNotification è adesso
UIScreen.main() invece di UIApplication.shared().
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.
Ciò comporta la perdita di informazioni estese sul colore quando si disegna in una grafica a colori larghi
contesto.
Soluzione alternativa: è possibile recuperare il CIImage sottostante tramite la proprietà UIImage.CIImage e
renderizzarlo utilizzando un CIContext creato con lo spazio colore appropriato (sRGB esteso) e
formato pixel (full-float).
Un oggetto UIImage creato da CGImageRef non è interessato e verrà disegnato correttamente
senza perdita di informazioni sul colore.
widget
La prima volta che esegui il debug di un widget Oggi su un dispositivo, questo non viene visualizzato come possibile app
estensione.
Soluzione alternativa: eseguire nuovamente il debug per visualizzare l'estensione dell'app.
Xcode
• Talvolta, l'utilizzo di Comando-Maiuscole-HH dalla schermata Home non richiama l'app
interruttore.
Soluzione alternativa: avvia qualsiasi app prima di utilizzare Comando-Maiuscole-HH