Upaya untuk mencetak objek ( po
perintah) di xcode 6 beta 6 OSX proyek Swift menghasilkan pesan kesalahan ini:
(lldb) po managedObject
error: Error in auto-import:
failed to get module '__ObjC' from AST context
Dalam hal ini objek yang dimaksud adalah turunan dari NSManagedObject
.
Adakah saran tentang cara membantu impor otomatis untuk masuk __ObjC module
ke konteks Pohon Sintaks Abstrak LLVM?
Jawaban:
Pada Xcode 6.1 jika Anda mencoba perintah po dua kali, itu akan bekerja pada upaya kedua. Perintah po pertama akan selalu gagal untuk setiap sesi debugging baru tetapi panggilan berikutnya berfungsi.
sumber
error: The AST context is in a fatal error state.
Memiliki masalah yang sama di 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'
Tapi Anda bisa menggunakan
fr v managedObject
bukanpo managedObject
.sumber
Saya sarankan untuk memeriksa ulang apakah Anda memiliki file
bendera yang disetel di bawah 'Bendera Swift Lainnya' untuk skema yang Anda gunakan untuk debug. Saya mengalami masalah serupa ketika saya tidak sengaja menghapusnya.
sumber
Pembersihan dan penghapusan proyek saya
DerivedData
berhasil untuk saya.sumber
Saya membahas pesan kesalahan serupa dengan seorang insinyur Apple di WWDC2017. Sepertinya masalah ini dapat disebabkan oleh banyak hal, dan saya sadar bahwa penyebab saya sedikit berbeda dari yang dijelaskan di atas.
Tim saya menghabiskan waktu berminggu-minggu untuk mencoba mencari tahu hal ini, dan akhirnya menjadi bug pada kompiler Apple, yang tidak pernah dapat kami temukan sendiri. Juga, ia memiliki solusi yang SANGAT mudah.
Jadi, ini hanya saya memposting perbaikan di sini, untuk memaksimalkan kemungkinan bahwa orang lain melakukan pencarian untuk pesan kesalahan yang membingungkan ini, dan menemukan jawaban ini.
Jadi begini. Dalam kasus kami, kami memiliki proyek Objective-C menggunakan campuran framework Swift dan Objective-C. Perbaikan ini mungkin berlaku dalam konteks yang sedikit berbeda, coba saja.
Kebetulan ada bug dengan cara flag kompilasi dikumpulkan dari kerangka kerja dan proyek, dan "murni Objective-C" proyek "mengaktifkannya".
Solusi: tambahkan satu file Swift kosong tunggal ("Apapun.swift", atau apapun) di proyek Objective-C Anda, membuatnya tidak-murni-objektif-c lagi (baru-> file-> file Swift, jangan buat header penghubung. File hanya akan berisi impor Foundation).
sumber