2015-06-04 9 views
15

У меня внезапно не удалось распечатать свойства объекта или вызвать методы внутри lldb. Единственное, что печатает это:Класс lldb имеет несовместимый суперкласс

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

Это верно даже для самых основных типов объектов, таких как: NSArray, NSDictionary и NSString. Вот конкретный пример:

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

Единственные методы, которые доступны те, которые доступны в NSObject, такие как -класс. Продолжая предыдущий пример:

(lldb) po [functie class] 
__NSCFString 

Если кто-нибудь знает, в чем проблема, ваш ввод будет с благодарностью. Спасибо.

+0

Является ли ваша конфигурация конфигурации отладкой или выпуском? У меня были такие странные ошибки, что я был в выпуске. – NobodyNada

+0

Это отладка. Я обязательно проверил. – dudeman

+0

Вы чистили и восстанавливали? У вас есть эта проблема в других проектах? – NobodyNada

ответ

6

Попробуйте это:

  1. Выберите проект в левом навигаторе проекта.

  2. Переключиться на вкладку Build Settings.

  3. Поиск Debug Information Format.

  4. Задайте значение для Отладка по DWARF.

  5. Чистая папка: держите Option + Command + Shift + K (то есть ⌥ + ⌘ + ⇧ + K).

  6. Восстановите свой проект: ⌘ + R.

Удачи.

+3

Это сработало для меня. Затем я переключился на DWARF с dSYM, сделал еще один чистый, и проблема не вернулась. Я подозреваю, что мой файл проекта немного испортился, когда я открыл этот проект в XCode 9 beta сегодня утром. Несколько раз сжигали бета, но я, видимо, еще не выучил мой урок. :-) – dlw

+0

Такая же ситуация. Это может быть вызвано Xcode бета-версией. –

Смежные вопросы