Не удалось распечатать объект ('po') в xcode6 beta 6 osx swift project: (Ошибка в автоматическом импорте: не удалось получить модуль '__ObjC' из контекста AST)

Попытка напечатать объект (команда po) в xcode 6 beta 6 Проект OSX Swift приводит к появлению этого сообщения об ошибке:

(lldb) po managedObject
error: Error in auto-import:
failed to get module '__ObjC' from AST context

В этом случае рассматриваемый объект является экземпляром NSManagedObject.

Любые советы о том, как помочь авто-импортировать при получении __ObjC module в LLVM Абстрактный контекст дерева синтаксиса?

Ответ 1

Как и в случае Xcode 6.1, если вы дважды попытаетесь выполнить команду po, она будет работать во второй попытке. Первая команда po всегда будет терпеть неудачу для каждого нового сеанса отладки, но последующие вызовы будут работать.

Ответ 2

Иметь такую ​​же проблему в xcode 7.3.1:

error: Error in auto-import:
failed to get module 'Touch' from AST context:
<module-includes>:1:9: note: in file included from <module-includes>:1:
#import "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/include/libxml2/libxml/tree.h"
        ^
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/include/libxml2/libxml/tree.h:17:10: error: 'libxml/xmlversion.h' file not found
#include <libxml/xmlversion.h>
         ^
could not build Objective-C module 'LibXML2'

Но вы можете использовать fr v managedObject вместо po managedObject.

Ответ 3

Я бы рекомендовал дважды проверить, что у вас есть

-D DEBUG

Флаг

установлен под "Другие быстрые флаги" для схемы, которую вы используете для отладки. У меня возникли подобные проблемы, когда я случайно удалил его.

Ответ 4

Чистый мой проект и удаление DerivedData работали для меня.

Ответ 5

Я обсуждал аналогичное сообщение об ошибке с инженером Apple на WWDC2017. Похоже, что эта проблема может иметь много причин, и я знаю, что моя немного отличается от той, которая была описана выше.

Моя команда провела недели, пытаясь понять это, и это оказалось ошибкой в ​​Apple-компиляторе, который мы никогда бы не разобрали сами. Кроме того, у этого есть ОЧЕНЬ легкое обходное решение.

Итак, это только я отправляю исправление здесь, чтобы максимизировать вероятность того, что кто-то другой выполнит поиск этого запутанного сообщения об ошибке и найдет этот ответ.

Итак, вот оно. В нашем случае у нас был проект Objective-C с использованием сочетаний Swift и Objective-C. Это исправление может применяться в несколько разных контекстах, просто попробуйте.

Бывает ошибка, связанная с тем, как компиляционные флаги агрегируются из фреймворков и проекта, а проект "чистый Objective-C" активирует его.

Решение: добавьте один единственный пустой файл Swift ( "Whatever.swift" или что-то еще) в ваш проект Objective-C, сделав его not-pure- objective-c (new- > file- > Swift file, не создавайте заголовок моста. Файл будет содержать только импорт Foundation).