Xcode 6.3 bị treo / treo sau khi mở tệp XIB


82

Sau khi nâng cấp lên Xcode 6.3 (phiên bản phát hành), Xcode hiện đóng băng mỗi khi tôi mở tệp XIB / Storyboard bao gồm IB_DESIGNABLEchế độ xemsử dụng phông chữ tùy chỉnhcho bất kỳ dự án nào và bao gồm một phông chữ tùy chỉnh (không nhất thiết phải có tham chiếu đến phông chữ đó trong XIB / Storyboard đó). Việc đóng băng xảy ra sau khi mở tệp .xib và sau đó cố gắng chuyển sang bất kỳ tệp nào khác. Xcode bị treo và buộc phải thoát.

Tôi đã mở một báo cáo lỗi với Apple. (Lỗi 20483867).

Hiện tại, tôi có hai cách giải quyết.

  1. Tải xuống và sử dụng Xcode 6.2 từ Apple.
  2. Xóa thẻ IB_DESIGNABLE khỏi tệp tiêu đề chế độ xem tùy chỉnh.

Đây có thể là một lỗi của Apple, nhưng có ai có cách khắc phục hoặc giải pháp tốt hơn không?


7
Tương tự ở đây, Xcode đóng băng hoàn toàn khi tôi cố gắng chuyển từ Trình tạo giao diện sang bất kỳ tệp nào khác. Xóa TẤT CẢ IB_DESIGNABLE các thuộc tính sẽ khắc phục được sự cố này. Sẽ quay trở lại 6.2 fow bây giờ ...
maxkonovalov

1
Ở đây cũng vậy. Xóa thư mục ~ / Library / Saved Application State / com.apple.dt.Xcode.savedState giúp tôi, nhưng khi tôi cố mở lại bảng phân cảnh, tôi gặp vấn đề tương tự.
tikhop

Bạn cũng có thể thử bỏ chọn "Tự động làm mới chế độ xem" để xem điều này có ngăn được sự cố không? Nếu vậy, bạn có thể xem liệu mình có thể "Làm mới tất cả các chế độ xem" mà không bị khóa hay không.
nhgrif

@nhgrif Cài đặt đó ở đâu?
picciano

2
Apple đã yêu cầu đầu ra từ sysdiagnose. Tôi sẽ tiếp tục cung cấp các bản cập nhật khi quá trình này tiến triển.
picciano

Câu trả lời:


26

Xcode 6.3.1 khắc phục sự cố với phông chữ và IB_DESIGNABLEchế độ xem tùy chỉnh trong Bảng phân cảnh. Cập nhật thông qua Mac App Store, và bạn sẽ tốt.


28

Tôi đã đề xuất một bản chỉnh sửa để có một mô tả chính xác hơn .

Nó chỉ xảy ra khi dự án của bạn có phông chữ tùy chỉnh. Nó sẽ đóng băng chỉ bằng cách truy cập bất kỳ Bảng phân cảnh / XIB nào chứa chế độ xem tùy chỉnh Có thể chuyển đổi IBD, thậm chí không tham chiếu đến phông chữ đó trong Bảng phân cảnh / XIB của bạn.

Cách giải quyết của tôi là sử dụng phiên bản Xcode cũ hơn cũng được cài đặt (Xcode 6.3 beta hoặc Xcode 6.2) và sử dụng nó để cập nhật các tệp Trình tạo giao diện của bạn và không bao giờ mở nó trong 6.3. mở Storyboard / XIB đó trong một cửa sổ mới trong Xcode với option+ shift+ clicktệp trong cây dự án.

Bất cứ khi nào bạn gặp phải tình trạng đóng băng, tôi sử dụng lệnh này để xóa trạng thái đã lưu chỉ cho dự án đó.

rm -rf YourProject.xcodeproj/project.xcworkspace/xcuserdata


3
lệnh xóa xcuserdatarất hữu ích. làm việc cho tôi.
Yevhen Dubinin

5
Nếu bạn đang sử dụng CocoaPods, bạn cũng có thể cần phải loại bỏ các xcuserdata từ tập tin workspace chính thay vì một từ .xcodeproj rm -rf YourProject.xcworkspace / xcuserdata
Nur Iman Izam

Này, tôi đã gặp phải vấn đề này rất nhiều gần đây vì vậy tôi đã viết một kịch bản để giúp giải quyết vấn đề. Nó hoạt động tốt cho một dự án sử dụng CocoaPods, nhưng tôi chưa thử nghiệm nó bên ngoài môi trường của chính mình. Nó bao gồm giải pháp được đăng trong câu trả lời này, nhưng phải xử lý cả các dự án đơn lẻ và không gian làm việc gist.github.com/Ziewvater/3190e20b1ace2ab3c3b6 . Hãy cho tôi biết nếu tôi có thể cải thiện nó
Ziewvater

15

Phản hồi từ Apple: Liên kết tới Diễn đàn nhà phát triển trên Apple

Cảm ơn tất cả các báo cáo của bạn. Chúng tôi đang theo dõi vấn đề này và làm việc chăm chỉ để giải quyết nó. Rất tiếc, chúng tôi không có giải pháp tuyệt vời, nhưng đây là hai tùy chọn để giúp bạn tiếp tục:

Nếu Xcode bị treo khi khởi chạy vì bảng phân cảnh / XIB sử dụng phông chữ tùy chỉnh / IBDesignable đã được mở trước đó: hãy xóa tệp "UserInterfaceState.xcuserstate" bên trong xcodeproj của dự án bạn đang mở, nó sẽ ở đường dẫn như sau: Ứng dụng của tôi .xcodeproj / project.xcworkspace / xcuserdata / yourusername.xcuserdatad / UserInterfaceState.xcuserstate

Nếu bạn thực sự cần chỉnh sửa bảng phân cảnh / tệp XIB có chứa phông chữ tùy chỉnh với Xcode 6.3:

  1. Tạo một bản sao của bảng phân cảnh / tệp XIB của bạn làm bản sao lưu
  2. Mở bảng phân cảnh / tệp XIB trong trình soạn thảo văn bản
  3. Xóa các thẻ XML có tên "fontDescription" tham chiếu đến phông chữ tùy chỉnh của bạn, ví dụ:. Xóa thẻ này sẽ hoàn nguyên phông chữ về phông chữ hệ thống tiêu chuẩn.
  4. Tạo cửa sổ cho các đối tượng bằng cách sử dụng phông chữ tùy chỉnh và trong thời gian chạy, hãy đặt phông chữ của các đối tượng đó thành phông chữ tùy chỉnh của bạn, ví dụ: trong phần ghi đè của viewDidLoad hoặc tỉnh táo

LƯU Ý QUAN TRỌNG: chúng tôi không bao giờ khuyên bạn nên chỉnh sửa bằng tay các tệp phân cảnh / XIB. Tuy nhiên, chúng tôi nhận thấy vấn đề này đang ngăn nhiều người trong số các bạn chỉnh sửa tài liệu của mình và muốn đưa ra giải pháp khắc phục trước rằng bất kỳ chỉnh sửa thủ công nào cũng có thể dẫn đến tài liệu của bạn bị hỏng.


9
Đây là tất cả các loại vui nhộn. "Nếu bạn thực sự cần chỉnh sửa bảng phân cảnh / tệp XIB"
user1021430

13

Cùng một vấn đề đối với tôi. Xóa IB_DESIGNABLE sẽ khắc phục được sự cố .. Quay lại 6.2 không hoạt động với tôi vì tôi đang thử nghiệm ứng dụng trên thiết bị chạy iOS 8.3 - Xcode 6.2 không thể chạy ứng dụng trên thiết bị chạy iOS 8.3 :(


Vấn đề tương tự ở đây cũng vậy. Tôi cần 8.3 và tôi cũng đang sử dụng một số tính năng Swift mới hơn.
Christian A. Strømmen

Một giải pháp thay thế nếu bạn vẫn cần hoàn thành công việc và tình cờ có một người xung quanh, là quay lại một trong các bản beta Xcode 6.3. Tôi có thể xác nhận rằng bản dựng 6D532l (tôi nghĩ là bản beta 3) không bị treo.
Samscam

3

Một giải pháp khác là thay đổi phần mở rộng tệp thành tất cả các tệp phông chữ của bạn và tải tên tệp đã thay đổi từ Info.plist. Bằng cách này, bạn có thể giữ IBDesignables và vẫn sử dụng phông chữ tùy chỉnh của mình, nhưng sẽ không thể nhìn thấy chúng trong Bộ chọn phông chữ trong Trình tạo giao diện.

Tất cả các phông chữ tùy chỉnh đã được đặt trước đây từ Trình tạo giao diện sẽ tiếp tục hoạt động, nhưng để thay đổi chúng hoặc để đặt phông chữ tùy chỉnh khác, bạn sẽ phải thực hiện từ mã hoặc sửa đổi Bảng phân cảnh hoặc tệp Nib từ trình soạn thảo văn bản theo thứ tự để đặt tên phông chữ.


Điều này đã làm việc cho tôi. Tôi nhận thấy rằng ngay cả sau khi xóa trạng thái / xcuserdata đã lưu, nó vẫn sẽ bị hỏng vào lần sau khi mở bảng phân cảnh. Bỏ các phần mở rộng cho các phông chữ và cập nhật Info.plist có vẻ hoạt động tốt hơn
John Martin

Điều này làm việc cho tôi là tốt, sau khi làm các bước mà @picciano posted
Albert Bori

2

Tôi không có câu trả lời nhưng phát hiện ra rằng chỉ cần buộc thoát và khởi động lại sẽ khởi chạy lại Xcode trong tình huống tương tự. Để có thể khởi động lại Xcode, hãy xóa thư mục ~/Library/Saved Application State/com.apple.dt.Xcode.savedState.


1
Một tùy chọn khác ở đây là định vị tệp dự án của bạn trong Finder (.xcodeproj hoặc .xcworkspace) -> hiển thị nội dung gói -> và xóa thư mục "xcuserdata" ở đó. Nó sẽ khôi phục trạng thái giao diện người dùng Xcode của bạn.
maxkonovalov

Việc hủy dữ liệu người dùng đã giúp tôi giải quyết vấn đề Xcode 6.3 của mình
Sascha đã tổ chức vào

1

Lỗi này đã được sửa trong bản beta Xcode 6.4 ra mắt ngày hôm nay. Đi tới trung tâm phát triển và đăng nhập để tải xuống.


Tôi muốn đợi bản phát hành mới của Xcode 6.3 (ví dụ: 6.3.1), vì chúng tôi không đủ khả năng phát triển trên các bản beta, vì chúng có thể mang lại nhiều vấn đề hơn so với những bản đã được sửa.
KoCMoHaBTa

3
Tôi đã tải xuống 6.4 nhưng nó vẫn bị treo.
Jibla

1

Xcode 8.1 - nếu bạn có chế độ xem với Điều hướng (trong trường hợp của tôi đó là Thanh điều hướng mờ trên cùng của Thanh), chỉ cần đặt thuộc tính "Top Bar" thành Không.


Tôi nghĩ rằng bạn có thể đã thêm điều này vào câu hỏi sai.
picciano

@picciano nope, điều này thực sự chính xác. Đó là điều duy nhất làm việc cho tôi. Vui lòng xem câu trả lời của tôi để biết thêm chi tiết
LuisCien 20/02/2017

0

Để giải quyết vấn đề, tôi chỉ nhận xét tất cả đánh dấu @IBDesignable trong số ít các thành phần tùy chỉnh sử dụng điều này. Khi tôi làm điều đó, vâng, tôi mất khả năng tinh chỉnh cài đặt trong Trình tạo giao diện, nhưng ít nhất nó cho phép tôi mở các tệp .xib khi XCode bị lỗi.

Tôi chỉ đơn giản là sẽ bỏ bình luận những dòng @IBDesignable đó khi Apple đưa ra phương án sửa lỗi.


0

@O. Câu trả lời của Kurnenkov phù hợp với tôi. Nó không liên quan gì đến IB_Designable cũng như phông chữ tùy chỉnh, Cocoapods, v.v.

Vì một số lý do có "Thanh điều hướng đục" khiến nibtệp (dường như không ảnh hưởng đến storyboardcác) liên tục thay đổi yvị trí; điều này có thể được nhìn thấy trong Size Inspectornơi yvị trí sẽ nhấp nháy giữa 0 và 64. Đây đang xảy ra với tôi với Xcode 8.2 (8C38).

nhập mô tả hình ảnh ở đây

Tôi đoán ở đây là điều này khiến Xcode liên tục cập nhật bố cục, do đó làm tiêu hao tài nguyên và khiến nó bị treo / đóng băng.

nhập mô tả hình ảnh ở đây

Giải pháp là sử dụng bất kỳ tùy chọn "Mờ" nào, Suy ra hoặc Không có.

Hi vọng điêu nay co ich!

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.