2012-06-18 26 views
30

* Chấm dứt ứng dụng do ngoại lệ còn tự do 'NSInvalidUnarchiveOperationException', lý do: '* - [NSKeyedUnarchiver decodeObjectForKey:]: không thể giải mã đối tượng của lớp (NSLayoutConstraint)'Làm thế nào tôi có thể sửa chữa NSInvalidUnarchiveOperationException

Tôi có một rất đơn giản ứng dụng

một xem có một nút

tôi Kiểm soát Nhấp và kéo nút để một cái nhìn thứ hai và chọn PHƯƠNG THỨC

Khi tôi chạy nó trong trình mô phỏng, mọi thứ hoạt động

Khi tôi chạy nó trong iPad chạy iOS 5.1.1, nó gặp sự cố ở trên. Tôi không biết tại sao và không có mã.

+0

Tham khảo [http://stackoverflow.com/questions/11198981/presentviewcontroller -crash] [1] [1]: http://stackoverflow.com/questions/11198981/presentviewcontroller-crash –

Trả lời

79

Điều này xảy ra vì bạn đang sử dụng Xcode 4.5 (hoặc trước đây là bản beta) sử dụng "bố cục tự động" theo mặc định. Bố cục tự động chỉ khả dụng trên iOS 6 nên bạn sẽ gặp phải lỗi thời gian chạy trên các phiên bản iOS trước.

Bạn có thể khắc phục điều này bằng cách mở Storyboard của bạn, mở cửa sổ tiện ích, và vô hiệu hóa "Sử dụng Autolayout" hộp kiểm trong tab đầu tiên/phần:

enter image description here

Đối với ngòi phi kịch bản thường xuyên, chọn chế độ xem cấp cao nhất để truy cập tùy chọn này.

+0

Cảm ơn. Tôi sẽ không bao giờ tìm thấy điều này. –

+0

@Jignesh: Đây là một câu trả lời được upvoted tốt, và chỉnh sửa của bạn phục vụ tốt hơn như một bình luận (hoặc thậm chí là một câu trả lời trong nó tự) Tôi sẽ thay vì thêm văn bản chỉnh sửa của bạn như là một bình luận cho câu trả lời. –

+0

Từ chỉnh sửa của Jignesh * "Khi tôi giải quyết vấn đề của mình, tôi phải bỏ chọn' Sử dụng Autolayout' trên 'nib file' gây ra sự cố cho tôi" *: "Bạn có thể sửa lỗi này bằng cách mở Storyboard hoặc bất kỳ tệp nib nào gây ra sự cố, mở ngăn Tiện ích và vô hiệu hóa hộp kiểm "Sử dụng Autolayout" trong tab/mục đầu tiên " –

5

Trong Xib- của bạn> nhận dạng và loại -> Interface Builder Document -> useAutoLayout hộp kiểm bỏ chọn, đây là tính năng mới với iOS6

Các vấn đề liên quan