A volte ricevo questo messaggio nei registri di Xcode 8b3 quando eseguo la mia app, tutto sembra funzionare, ma mi piacerebbe sapere da dove proviene. Google non ha aiutato affatto.
willShowViewController non viene mai chiamato, no ...
A volte ricevo questo messaggio nei registri di Xcode 8b3 quando eseguo la mia app, tutto sembra funzionare, ma mi piacerebbe sapere da dove proviene. Google non ha aiutato affatto.
willShowViewController non viene mai chiamato, no ...
Risposte:
nel tuo Xcode:

Viene da +[UIWindow _synchronizeDrawingAcrossProcessesOverPort:withPreCommitHandler:]via os_log API. Non dipende da altri componenti / framework che si stanno utilizzando (solo da UIKit) - si riproduce in un progetto di applicazione a vista singola pulito sulla modifica dell'orientamento dell'interfaccia.
Questo metodo è composto da 2 parti:
Quando la seconda parte fallisce (sembra una transizione proibita), stampa il messaggio sopra nel registro degli errori. Tuttavia, penso che questo problema non sia fatale: ci sono 2 ulteriori casi di asserzione in questo metodo, che porteranno al crash nel debug.
Sembra che il radar sia il migliore che possiamo fare.
Prova a inserire quanto segue in environment variablesper lo schema sottorun(debug)
OS_ACTIVITY_MODE = disable
Possiamo silenziarlo in questo modo (dispositivo e simulatore necessitano di valori diversi):
Aggiungi il nome OS_ACTIVITY_MODEe il valore ${DEBUG_ACTIVITY_MODE}e controllalo (in Prodotto -> Schema -> Modifica schema -> Esegui -> Argomenti -> Ambiente).
Aggiungere Impostazione definito dall'utente DEBUG_ACTIVITY_MODE, quindi aggiungere Any iOS Simulator SDKper Debuge impostare il suo valore a disable(in Project -> impostazioni di generazione -> + -> Impostazioni Definito dall'utente)
Per risolvere, ho eliminato l'app dal simulatore.
Ho anche eseguito Clean per primo.
Non credo che sia stato innescato da alcun elemento legato all'orientamento. La cosa più grande che è cambiata prima dell'inizio di questo sintomo è che un framework Swift ha iniziato a chiamare NSLogthread di lavoro anziché thread principale.
OS_ACTIVITY_MODE = disable
Ciò disabiliterà anche la possibilità di eseguire il debug in dispositivi reali (nessun output della console da dispositivi reali da quel momento in poi).