2015-09-16 5 views
12

A partire da iOS 9 (ho usato Xcode 7.0 beta 6 (7A192o)), un'app Objective-C con UITextView si bloccherà se il testo della vista testo è inferiore a 10 caratteri . L'utilizzo della CPU sale al 99-100% e l'intero sistema si blocca.UITextView con testo inferiore a 10 caratteri si blocca iOS 9

come riprodurre:

  1. creare un nuovo marchio un'unica vista app dal modello (o qualsiasi altra cosa).
  2. Nello storyboard, aggiungere un UITextView con le impostazioni predefinite in qualsiasi punto della vista principale.
  3. Impostare il testo su una stringa di lunghezza inferiore a 10 caratteri.
  4. Avvia l'app nel simulatore (qualsiasi dispositivo, purché sia ​​iOS 9).
  5. All'avvio, prima di visualizzare la vista singola, il sistema si bloccherà e l'utilizzo della CPU andrà al massimo per sempre.
  6. impostare il testo a qualsiasi altro testo che è più di 10 caratteri e l'app funziona correctly.a

Sembra vincoli o altre impostazioni non influiscono questo comportamento.

La soluzione immediata sarebbe semplicemente quella di non avere meno di 10 caratteri, ma, beh, è ​​zoppo.

È possibile controllare this github repository che dimostra anche il problema.

Ho anche inviato un bug report ad Apple (bug n ° 22736256, anche se probabilmente non lo si può vedere ancora lì).

Più strano. Bug. Mai.

C'è qualcuno che sta incontrando anche questo ??

+5

Invia il bug ad Apple. Includi la tua app di prova per dimostrare il problema. – rmaddy

+1

Questo è davvero strano. –

+2

Sì, ho inviato un bug report ad Apple (bug n ° 22736256, anche se probabilmente non lo si può vedere ancora lì). Ti aggiornerà ... – mllm

risposta

1

Secondo la release notes of Xcode 7.1.1 questo dovrebbe essere fissato ora:

Storyboards e pennini contenenti elementi UITextView con da 1 a 11 caratteri non appendere quando caricato su iOS.(23264732)

8

Mi ha richiesto mezza giornata per restringere l'errore a UITextView. Questo deve essere il bug più stupido di sempre.

Non è necessario assicurarsi che UITextView contenga almeno 10 caratteri. Basta aggiungere un valore predefinito di almeno 10 caratteri a UITextView in Interface Builder per risolvere il problema. Quindi, è possibile svuotare UITextView utilizzando il codice.

A proposito, questo è un bug Xcode 7, non un bug iOS9. Le nuove build create con Xcode 7 creeranno lo stesso problema in iOS7 e iOS8.

+1

Ho anche perso 3 ore su questo bug. Sai, quando guadagni tutto il discorso di vendita che hai sentito nei video del WWDC, e poi vedi lo * stato reale * del loro IDE e della loro tecnologia ... è semplicemente incredibile. –

-2

Ho trovato la soluzione per prima cosa controlla la perdita di memoria e per favore aggiungi questa riga di codice in particolare classe.

- (void) viewWillAppear: (BOOL) animato {

[super viewWillAppear: YES];

}

Questo è utile per me il mio problema è stato risolto.

+0

Questo non è raccomandato poiché stai sovrascrivendo il parametro 'animated' su' super'. Cosa succede se 'animated' deve essere' NO'? – mllm