Tôi mới sử dụng Xcode và đang gặp sự cố với lỗi IDE khi tôi sử dụng Trình tạo giao diện. Đây là Xcode 4.5.Trình tạo giao diện Xcode gặp sự cố khi tôi chỉnh sửa bảng phân cảnh
Nó hoạt động bình thường đủ lâu để tôi thêm một tá nút vào bảng phân cảnh - nhưng khi tôi cố gắng thay đổi kích thước bất kỳ biểu tượng nào, nó bị treo và thoát. Nếu tôi di chuyển một nút, nó sẽ bị treo. Nếu tôi thêm một đối tượng mới như một nhãn, nó đôi khi sự cố, nhưng không phải lúc nào cũng vậy.
Nếu tôi không cố gắng chỉnh sửa bảng phân cảnh, dự án sẽ xây dựng và chạy trên trình mô phỏng mà không có sự cố.
Tôi đã dán nội dung trông giống như phần có liên quan của báo cáo sự cố bên dưới. Để tiết kiệm dung lượng, tôi đã xóa mọi thứ từ phần 'phân cấp chế độ xem' xuống dưới, nhưng tôi có thể thêm nó nếu nó hữu ích. Tất cả các báo cáo sự cố đều đề cập đến cùng một lỗi.
Điều thú vị là khi tôi nhìn vào các bản ghi Console, có một báo cáo khác từ giao diện Builder trước mỗi một trong các tai nạn:
25/09/2012 10:46:35.661 Interface Builder Cocoa Touch Tool: CFPreferences:
user home directory at file://localhost/Users/me/Library/Application Support/
iPhone Simulator/User/ is unavailable. User domains will be volatile.
Đó là chính xác - thư mục đó không tồn tại. Tôi đã có iPhone Simulator/6.0, nhưng không có gì khác. Tôi đã đăng nhập với tư cách là người dùng trong đường dẫn đó.
Dựa trên các đề xuất khác về Stack Overflow và các nơi khác, tôi đã thử làm sạch bản dựng rồi xóa toàn bộ thư mục iPhone Simulator và cho phép trình mô phỏng tạo lại, nhưng điều đó không có sự khác biệt.
Là một thử nghiệm, tôi vừa tạo một Dự án mới và kéo một số nút và nhãn vào bảng phân cảnh. Điều đó có vẻ ổn. Không có sự cố.
Điều đó có gợi ý rằng có điều gì đó đã bị hỏng trong dự án khác của tôi không?
Mọi đề xuất sẽ rất được hoan nghênh. Đây không phải là một dự án quan trọng - tôi đang học theo cách của mình ở giai đoạn này - nhưng nếu có điều gì đó gây ra vấn đề thì tôi muốn sắp xếp nó trước khi tôi bắt đầu bất kỳ công việc nghiêm túc nào trong Xcode.
Xin cảm ơn trước.
James
Process: Xcode [650]
Path: /Applications/Xcode.app/Contents/MacOS/Xcode
Identifier: com.apple.dt.Xcode
Version: 4.5 (1839)
Build Info: IDEApplication-1839000000000000~3
App Item ID: 497799835
App External ID: 10747437
Code Type: X86-64 (Native)
Parent Process: launchd [129]
Date/Time: 2012-09-25 10:46:43.202 +0100
OS Version: Mac OS X 10.7.5 (11G56)
Report Version: 9
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Application Specific Information:
ProductBuildVersion: 4G182
ASSERTION FAILURE in /SourceCache/IDEInterfaceBuilderCocoaTouch/IDEInterfaceBuilderCocoaTouch-1926/IBPlugin/Utilities/IBObjectMarshalling.m:651
Details: Failed to arbitrate IBNSLayoutConstraint, IBUIButton, IBUILabel, IBUIView, and IBUIViewController.
Interface Builder encountered an error communicating with the iOS Simulator. If you choose to file a crash report or radar for this issue, please check Console.app for crash reports for "Interface Builder Cocoa Touch Tool" and include their content in your crash report.
Exception name: IBAssertionFailure
Exception reason: ASSERTION FAILURE:
Reason: All views needing candidate constraints have already had constraints generated. This most likely indicates a bug involving layout of the following views:
Layout engine frame ({{20, 60}, {282, 57}}) of <UILabel: 0xb36f590; frame = (20 60; 281 57); text = '0'; clipsToBounds = YES; opaque = NO; autoresize = TM+BM; userInteractionEnabled = NO; layer = <CALayer: 0xb36f620>> does not match canvas frame ({{20, 60}, {281, 57}})
Layout engine frame ({{236, 328}, {66, 43}}) of <UIRoundedRectButton: 0xb384590; frame = (236 328; 65 44); opaque = NO; autoresize = TM+BM; layer = <CALayer: 0xb384660>> does not match canvas frame ({{236, 328}, {65, 43}})
Layout engine frame ({{236, 124}, {66, 43}}) of <UIRoundedRectButton: 0xb38ea10; frame = (236 124; 65 44); opaque = NO; autoresize = TM+BM; layer = <CALayer: 0xb38eae0>> does not match canvas frame ({{236, 124}, {65, 43}})
Layout engine frame ({{236, 175}, {66, 43}}) of <UIRoundedRectButton: 0xb390a30; frame = (236 175; 65 44); opaque = NO; autoresize = TM+BM; layer = <CALayer: 0xb36e8e0>> does not match canvas frame ({{236, 175}, {65, 43}})
Layout engine frame ({{236, 226}, {66, 43}}) of <UIRoundedRectButton: 0xb392a90; frame = (236 226; 65 44); opaque = NO; autoresize = TM+BM; layer = <CALayer: 0xb392b60>> does not match canvas frame ({{236, 226}, {65, 43}})
Layout engine frame ({{236, 277}, {66, 43}}) of <UIRoundedRectButton: 0xb394b70; frame = (236 277; 65 44); opaque = NO; autoresize = TM+BM; layer = <CALayer: 0xb394c40>> does not match canvas frame ({{236, 277}, {65, 43}})
Tôi đang gặp sự cố tương tự này và có vẻ như sự cố giống hệt nhau, nhưng tôi không sử dụng bảng phân cảnh. Bạn đã kiểm tra "Sử dụng Autolayout" ở đâu trên bảng phân cảnh của mình? Hoặc, là hộp kiểm này ở một nơi khác? Cảm ơn –
Khi nào sự cố xảy ra? Ứng dụng của bạn có bảng phân cảnh (trống) với một loại chế độ xem nào đó không? Hộp kiểm nằm trong khung kiểm tra bên phải của Trình tạo giao diện. Tắt ** off ** là điều đã khắc phục được sự cố của tôi. Hãy cho tôi biết nếu bạn không thể tìm thấy nó và tôi sẽ thêm một màn hình lấy. Chúc may mắn. – James
Đã xảy ra lỗi khi chỉnh sửa .xib trong một ứng dụng chế độ xem đơn lẻ; Tôi chỉ cần bỏ chọn "Sử dụng Autolayout" cho xib như bạn đã đề xuất, cảm ơn –