Ответ 1
Как и в случае Xcode 6.1, если вы дважды попытаетесь выполнить команду po, она будет работать во второй попытке. Первая команда po всегда будет терпеть неудачу для каждого нового сеанса отладки, но последующие вызовы будут работать.
Попытка напечатать объект (команда 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 Абстрактный контекст дерева синтаксиса?
Как и в случае Xcode 6.1, если вы дважды попытаетесь выполнить команду po, она будет работать во второй попытке. Первая команда po всегда будет терпеть неудачу для каждого нового сеанса отладки, но последующие вызовы будут работать.
Иметь такую же проблему в 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
.
Я бы рекомендовал дважды проверить, что у вас есть
Флаг-D DEBUG
установлен под "Другие быстрые флаги" для схемы, которую вы используете для отладки. У меня возникли подобные проблемы, когда я случайно удалил его.
Чистый мой проект и удаление DerivedData
работали для меня.
Я обсуждал аналогичное сообщение об ошибке с инженером Apple на WWDC2017. Похоже, что эта проблема может иметь много причин, и я знаю, что моя немного отличается от той, которая была описана выше.
Моя команда провела недели, пытаясь понять это, и это оказалось ошибкой в Apple-компиляторе, который мы никогда бы не разобрали сами. Кроме того, у этого есть ОЧЕНЬ легкое обходное решение.
Итак, это только я отправляю исправление здесь, чтобы максимизировать вероятность того, что кто-то другой выполнит поиск этого запутанного сообщения об ошибке и найдет этот ответ.
Итак, вот оно. В нашем случае у нас был проект Objective-C с использованием сочетаний Swift и Objective-C. Это исправление может применяться в несколько разных контекстах, просто попробуйте.
Бывает ошибка, связанная с тем, как компиляционные флаги агрегируются из фреймворков и проекта, а проект "чистый Objective-C" активирует его.
Решение: добавьте один единственный пустой файл Swift ( "Whatever.swift" или что-то еще) в ваш проект Objective-C, сделав его not-pure- objective-c (new- > file- > Swift file, не создавайте заголовок моста. Файл будет содержать только импорт Foundation).