2011-10-22 2 views
38

Ho un progetto Xcode su cui lavoro da mesi. Non ho mai avuto problemi con NSLog, ma dopo l'aggiornamento a Xcode 4.2, nulla verrà registrato nella console. Ho anche provato a lanciarlo in viewDidLoad:NSLog non stampa sulla console

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    NSLog(@"Can anyone hear me?"); 

E niente. Qualcun altro ha questo problema o conosce una soluzione?

+1

Verificare se questo può aiutare: http://stackoverflow.com/a/34743750/1753005 –

risposta

77

Beh, questo è imbarazzante. La console si è disattivata in qualche modo in realtà stavo guardando la finestra delle variabili. Premendo Shift + + C ha fatto il trucco.

Molte grazie a Robert King in questa discussione:

https://devforums.apple.com/message/565880#565880

+0

Ho avuto la stessa cosa, ma non era dopo l'aggiornamento. Lo sto usando da un po 'ora. Non ho idea di come sia successo ... strano. Inoltre, (se questo è davvero un bug) ho pensato che dovrei notare che sto eseguendo Xcode 4.3.2 – daveMac

+0

Holy cow. Questo è successo anche a me. Ho trascorso 2 giorni su questo fino a quando ho visto la 'soluzione' qui. Buon Dio. – sam

+0

La mia console è aperta, è impostata per mostrare tutti gli output e i miei NSlog non vengono ancora visualizzati. – bugloaf

8

Il mio problema è che ho Debugger uscita selezionati. Dopo averlo modificato su Tutte le uscite o output di destinazione NSLog sembrano corrette.

Nel caso in cui questo ti confonde a sinistra dell'area Debug.

+0

Dayum ... sai per quanto tempo questo mi ha confuso? Non riuscivo a capire per la vita di me perché non potevo vedere questa uscita. –

0

Il mio problema era che avevo interrotto accidentalmente il punto di riferimento dal Delegato app (delegato - proprietario del file).

0

Ho avuto lo stesso problema. Il trucco è cercare e rimuovere la linea sotto indicata dal progetto.

#define NSLog(...) 

Cercare l'intero progetto e rimuoverlo.

5

In iOS10, sulla console viene visualizzato un sacco di registrazione del sistema. Questo può essere disabilitato includendo OS_ACTIVITY_MODE = disabilitato negli argomenti di esecuzione dello schema

Tuttavia, per iOS10, i messaggi NSLog non verranno più visualizzati. Nelle versioni iOS inferiori i messaggi verranno comunque visualizzati. Quindi forse per la maggior parte dei casi di test è possibile utilizzare una versione iOS inferiore.

Altrimenti è possibile includere una funzione Swift che stampa (funzione di stampa) il testo, funziona correttamente su iOS10.

Testato su iOS10.0.2 e iOS9.3

+0

Questa è stata la soluzione che ha funzionato per me. È un bug che è stato segnalato? – Scooter

+0

Credo di sì, perché Apple ha risolto questo problema nella nuova versione beta. – Vincent

43

Questo è un bug di Xcode8 + iOS10, possiamo risolvere in questo modo:

Quando il simulatore , aggiungere il nome ed il OS_ACTIVITY_MODE Valore Variabili disable e verificarlo (Prodotto -> Schema -> Modifica schema -> Esegui -> Argomenti -> Ambiente). enter image description here

Quando il dispositivo , solo aggiungere OS_ACTIVITY_MODE e controllarlo (non aggiungere il valore). Vedrai NSLog nella console Xcode8. enter image description here

+1

Rilevante anche per Xcode9 –

0

Ho appena sperimentato questo, quindi ecco un'altra cosa da controllare.

-> Assicurarsi di non aver inserito nulla nel campo Filtro sotto l'uscita del registro. Quindi nel mio caso cercavo un termine nel logger e ho dimenticato di cancellare i termini ricercati dal campo di testo Filtro. DOH!