xcode6 beta 6 osx swift projesinde nesne yazdırılamıyor ('po'): (Otomatik içe aktarmada hata: AST bağlamından '__ObjC' modülü alınamadı)


87

poXcode 6 beta 6 OSX Swift projesinde nesneyi ( komut) yazdırma girişimi şu hata mesajıyla sonuçlanır:

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

Bu durumda söz konusu nesne bir örneğidir NSManagedObject.

__ObjC moduleLLVM Özet Sözdizimi Ağacı bağlamına girerken otomatik içe aktarmaya nasıl yardımcı olacağınıza dair herhangi bir tavsiye ?


Bende de aynı sorun var, bir viewController'da kendimi bile açamıyorum. Bunun nereden geldiği veya nasıl çözüleceği hakkında hiçbir fikrim yok
BObereder

1
Beta 7'de de hala aynı sorunu yaşıyorum.
weiran

2
po yerine baskı kullan
ant_one

2
İfade kullanmak yerine, çerçeve değişken managedObject denediniz mi?
vladof81

5
çerçeve değişkeni 'çalışır' ( fr v kısaltması da öyle ). Benim durumumda, ' manageObject'im AFNetworking aracılığıyla bir sözlükte JSON'dur. Sözlükte, managedObject ['anahtar'] gibi bir şey görmek istiyorum . Bu fr v ile çalışmaz .
Zak J

Yanıtlar:


24

Xcode 6.1'den itibaren po komutunu iki kez denerseniz, ikinci denemede çalışacaktır. İlk po komutu her yeni hata ayıklama oturumu için her zaman başarısız olur, ancak sonraki çağrılar çalışır.


burada da aynı, çöktü
user1366265

7
Artık Xcode 7 için çalışmıyor ... hala aynı çökme
Bartłomiej Semańczyk

4
İkinci denemede şunu alıyorum:error: The AST context is in a fatal error state.
yujean

7

Xcode 7.3.1'de aynı sorunu yaşayın:

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'

Ama fr v managedObjectbunun yerine kullanabilirsiniz po managedObject.


3

Sahip olup olmadığınızı iki kez kontrol etmenizi tavsiye ederim.

-D HATA AYIKLAMA

Hata ayıklamak için kullandığınız şema için 'Diğer Swift Bayrakları' altında belirlenen bayrak. Yanlışlıkla sildiğimde de benzer sorunlar yaşadım.


1

Projemin temizlenmesi ve silinmesi benim DerivedDataiçin çalıştı.


1

WWDC2017'de bir Apple mühendisi ile benzer bir hata mesajını tartıştım. Bu sorunun birçok nedeni olabilir gibi görünüyor ve benimkinin yukarıda anlatılanlardan biraz farklı olduğunun farkındayım.

Ekibim bunu çözmek için haftalarca harcadı ve Apple'ın derleyicisinde kendi başımıza asla çözemeyeceğimiz bir hata oldu. Ayrıca ÇOK kolay bir çözümü vardır.

Yani, bu sadece başka birinin bu kafa karıştırıcı hata mesajını araması ve bu cevabı bulması olasılığını en üst düzeye çıkarmak için düzeltmeyi buraya gönderiyorum.

İşte burada. Bizim durumumuzda, Swift ve Objective-C çerçevelerinin bir karışımını kullanan bir Objective-C projemiz vardı. Bu düzeltme biraz farklı bağlamlarda geçerli olabilir, sadece deneyin.

Derleme bayraklarının çerçevelerden ve projeden toplanma biçiminde bir hata olur ve "saf Objective-C" projesi onu "etkinleştirir".

Çözüm: Objective-C projenize tek bir boş Swift dosyası ("Whatever.swift" veya her neyse) ekleyin, artık onu saf olmayan objektif-c yapmayın (yeni-> dosya-> Swift dosyası, köprüleme başlığını oluşturun. Dosya yalnızca Foundation'ın içe aktarımını içerecektir).

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.