2015-06-04 3 views
15

Improvvisamente non riesco a stampare le proprietà dell'oggetto oi metodi di chiamata all'interno di lldb. L'unica cosa che stampa è:lldb class has superclass incompatibile

error: class '<ClassName>' has incompatible superclasses 
note: inherits from superclass 'NSObject' here 

Questo è vero anche per i tipi di oggetti più elementari, come ad esempio: NSArray, NSDictionary e NSString. Ecco un esempio specifico:

(lldb) po functie.length 
error: class 'NSString' has incompatible superclasses 
note: inherits from superclass 'NSObject' here 
error: 1 errors parsing expression 

Gli unici metodi disponibili sono quelli disponibili in NSObject, ad esempio -class. Prendendo spunto dall'esempio precedente:

(lldb) po [functie class] 
__NSCFString 

Se qualcuno ha qualche idea sul problema, il vostro contributo sarebbe molto apprezzato. Grazie.

+0

La configurazione della build è Debug o Release? Ho avuto strani errori come questo perché ero in versione. – NobodyNada

+0

È un debug. Mi sono assicurato di controllare. – dudeman

+0

Hai pulito e ricostruito? Hai questo problema in altri progetti? – NobodyNada

risposta

6

provare questo:

  1. Seleziona il progetto nella navigazione di progetto a sinistra.

  2. Passare alla scheda Build Settings.

  3. Cerca Debug Information Format.

  4. Impostare il valore per Debug a DWARF.

  5. Pulisci cartella di costruzione: tenere Option + Command + Shift + K (ovvero ⌥ + ⌘ + ⇧ + K).

  6. Ricostruisci il tuo progetto: ⌘ + R.

Buona fortuna.

+3

Questo ha funzionato per me. Poi sono tornato a DWARF con dSYM, ne ho fatto un altro pulito e il problema non è tornato. Sospetto che il mio file di progetto sia stato un po 'incasinato quando ho aperto il progetto in XCode 9 beta questa mattina. Bruciato da beta più volte, ma a quanto pare non ho ancora imparato la lezione. :-) – dlw

+0

Stessa situazione. Potrebbe essere causato da Xcode beta. –