không thể in đối tượng ('po') trong dự án nhanh xcode6 beta 6 osx: (Lỗi khi nhập tự động: không tải được mô-đun '__ObjC' từ ngữ cảnh AST)


87

Cố gắng in đối tượng ( polệnh) trong dự án OSX Swift xcode 6 beta 6 dẫn đến thông báo lỗi sau:

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

Trong trường hợp này, đối tượng được đề cập là một ví dụ của NSManagedObject.

Bất kỳ lời khuyên nào về cách giúp tự động nhập __ObjC modulevào ngữ cảnh Cây cú pháp tóm tắt LLVM?


Tôi có cùng một vấn đề, thậm chí không thể tự tạo trong viewController. Tôi không có ý tưởng nơi này xuất phát từ hoặc làm thế nào để giải quyết nó
BObereder

1
Tôi vẫn gặp vấn đề tương tự trong phiên bản beta 7.
weiran

2
sử dụng in thay vì po
ant_one

2
Thay vì sử dụng biểu thức, bạn đã thử quản lý biến khung ?
vladof81

5
biến khung 'hoạt động' (từ viết tắt fr v cũng vậy ). Trong trường hợp của tôi, ' managementObject của tôi là JSON trong từ điển qua AFNetworking. Tôi muốn xem trong từ điển, một cái gì đó giống như ManagedObject ['key'] . Điều đó không hoạt động với fr v .
Zak J

Câu trả lời:


24

Kể từ Xcode 6.1 nếu bạn thử lệnh po hai lần, nó sẽ hoạt động ở lần thử thứ hai. Lệnh po đầu tiên sẽ luôn không thành công cho mỗi phiên gỡ lỗi mới nhưng các lệnh gọi tiếp theo sẽ hoạt động.


tương tự ở đây, nó đã bị rơi
user1366265

7
Nó không làm việc nữa cho Xcode 7 ... vẫn như nhau sụp đổ
Bartłomiej Semańczyk

4
Trong lần thử thứ hai, tôi nhận được:error: The AST context is in a fatal error state.
yujean 14/09/2016

7

Gặp sự cố tương tự trong 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'

Nhưng bạn có thể sử dụng fr v managedObjectthay thế po managedObject.


3

Tôi khuyên bạn nên kiểm tra kỹ xem bạn có

-D NỢ

cờ được đặt trong 'Cờ Swift khác' cho lược đồ mà bạn đang sử dụng để gỡ lỗi. Tôi đã gặp sự cố tương tự khi vô tình xóa nó.


1

Việc xóa sạch dự án của tôi và xóa DerivedDatađã làm việc cho tôi.


1

Tôi đã thảo luận về một thông báo lỗi tương tự với một kỹ sư của Apple tại WWDC2017. Có vẻ như vấn đề này có thể do nhiều nguyên nhân và tôi biết rằng vấn đề của tôi hơi khác so với vấn đề được mô tả ở trên.

Nhóm của tôi đã mất hàng tuần để tìm ra điều này, và cuối cùng nó đã trở thành một lỗi trên trình biên dịch của Apple, điều mà chúng tôi không bao giờ có thể tự mình tìm ra. Ngoài ra, nó có một cách giải quyết RẤT dễ dàng.

Vì vậy, đây chỉ là tôi đăng bản sửa lỗi ở đây, để tối đa hóa xác suất người khác thực hiện tìm kiếm thông báo lỗi khó hiểu này và tìm thấy câu trả lời này.

Vì vậy, nó đây. Trong trường hợp của chúng tôi, chúng tôi có một dự án Objective-C sử dụng kết hợp các khung Swift và Objective-C. Bản sửa lỗi này có thể áp dụng trong các ngữ cảnh hơi khác nhau, hãy thử nó.

Có một lỗi xảy ra với cách các cờ biên dịch được tổng hợp từ các khuôn khổ và dự án, và dự án "Objective-C thuần túy" "kích hoạt" nó.

Giải pháp: thêm một tệp Swift trống duy nhất ("Dù.swift", hoặc bất cứ thứ gì) trong dự án Objective-C của bạn, làm cho nó không phải-pure-aim-c nữa (new-> tệp-> tệp Swift, không tạo tiêu đề bắc cầu. Tệp sẽ chỉ chứa phần nhập Foundation).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.