Xcode 11 gặp sự cố khi sao chép / dán chế độ xem từ các bảng phân cảnh khác nhau


18

Tôi gặp vấn đề với Xcode 11 chạy trên Catalina (nó có cùng vấn đề với Moave). Khi tôi cố gắng sao chép / dán một khung nhìn hoặc ViewContoder từ một bảng phân cảnh sang một Xcode khác gặp sự cố với ngoại lệ này:

...
Exception Type:        EXC_CRASH (SIGABRT)
Exception Codes:       0x0000000000000000, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Application Specific Information:
Sending paste: to IBStructureAreaDockView from <NSMenuItem: 0x7fe24030ddd0 Paste>
ProductBuildVersion: 11A1027
ASSERTION FAILURE in /Library/Caches/com.apple.xbs/Sources/IDEInterfaceBuilder/IDEInterfaceBuilder-15400/InterfaceBuilderKit/WidgetIntegration/View/IBViewIntegration.m:2451
Details:  There should only be 1 parent of all the constraint items extracted from the pasteboard: {(
)}
Object:   <IBUIView: 0x7fe23db1c600>
Method:   -ibDidExtractObjects:fromPasteboard:intoDocument:context:
Thread:   <NSThread: 0x7fe23ac17e80>{number = 1, name = main}
Hints:   
  0: Sending paste: to IBStructureAreaDockView from <NSMenuItem: 0x7fe24030ddd0 Paste>
Backtrace:
  0   -[IDEAssertionHandler handleFailureInMethod:object:fileName:lineNumber:assertionSignature:messageFormat:arguments:] (in IDEKit)
  1   _DVTAssertionHandler (in DVTFoundation)
  2   _DVTAssertionFailureHandler (in DVTFoundation)
  3   -[NSView(IBViewIntegration) ibDidExtractObjects:fromPasteboard:intoDocument:context:] (in IDEInterfaceBuilderKit)
  4   -[IBUIView(IBUIViewIntegration) ibDidExtractObjects:fromPasteboard:intoDocument:context:] (in IDEInterfaceBuilderCocoaTouchIntegration)
  5   -[IBDocument ibDidExtractObjects:fromPasteboard:context:] (in IDEInterfaceBuilderKit)
  6   -[IBDocument insertObjectsFromPasteboard:ofType:asChildrenOfObject:atIndex:context:finishExtractingObjectsBlock:] (in IDEInterfaceBuilderKit)
  7   -[IBDocument insertOrMoveChildrenFromPasteboard:ofType:asChildrenOfObject:atIndex:context:finishExtractingObjectsBlock:] (in IDEInterfaceBuilderKit)
  8   -[IBDocument addOrMoveChildrenFromPasteboard:ofType:toObject:context:finishExtractingObjectsBlock:] (in IDEInterfaceBuilderKit)
  9   -[IBStoryboardDocument addOrMoveChildrenFromPasteboard:ofType:toSceneGroup:context:] (in IDEInterfaceBuilderKit)
 10   -[IBSceneDockViewController performDockPasteWithPasteboard:context:] (in IDEInterfaceBuilderKit)
 11   -[IBSceneDockViewController dockViewPerformPaste:] (in IDEInterfaceBuilderKit)
 12   -[IBStructureAreaDockView paste:] (in IDEInterfaceBuilderKit)
 13   -[NSApplication(NSResponder) sendAction:to:from:] (in AppKit)
 14   __37-[DVTApplication sendAction:to:from:]_block_invoke.86 (in DVTKit)
 15   DVTInvokeWithFailureHint (in DVTFoundation)
 16   -[DVTApplication sendAction:to:from:] (in DVTKit)
 17   -[NSMenuItem _corePerformAction] (in AppKit)
 18   -[NSCarbonMenuImpl performActionWithHighlightingForItemAtIndex:] (in AppKit)
 19   -[NSMenu performKeyEquivalent:] (in AppKit)
 20   routeKeyEquivalent (in AppKit)
 21   -[NSApplication(NSEvent) sendEvent:] (in AppKit)
 22   -[IDEApplication sendEvent:] (in IDEKit)
 23   -[NSApplication run] (in AppKit)
 24   NSApplicationMain (in AppKit)
 25   main (in Xcode)
 26   start (in libdyld.dylib)

Performing @selector(paste:) from sender NSMenuItem 0x7fe24030ddd0
abort() called

Application Specific Signatures:
[parentsOfItemsInConstraints count] == 1
...

Có phải nó đang xảy ra với người khác? Đây có phải là một cái gì đó không được hỗ trợ bởi Storyboard?


Đây chắc chắn là một lỗi Xcode, vì vậy, điều tốt nhất bạn có thể làm là báo cáo nó trên Trợ lý phản hồi của Apple
Alladinian

1
Tương tự ở đây, tôi có thể xác nhận sao chép / dán viewContoder từ bảng phân cảnh này sang bảng phân cảnh khác gây ra sự cố Xcode 11 (Mojave).
Szilveszter Zsigmond

Tương tự ở đây, Xcode tiếp tục gặp sự cố khi sao chép và dán. cmd + Dsẽ hoạt động nếu những gì bạn muốn được nhân đôi một viewContoder trong cùng một Storyboard nhưng điều tôi cần là sao chép và dán vào Storyboard khác.
fs_tigre

CẬP NHẬT - Bây giờ nó mới bắt đầu hoạt động tốt sau khi xóa các phiên bản Xcode khác mà tôi đã cài đặt. Có thể các phiên bản khác đã gây ra sự cố, tôi không biết nhưng đó là điều duy nhất tôi đã thực hiện sau khi gặp sự cố, bây giờ tôi có thể sao chép và dán Bộ điều khiển View giữa các Storyboards khác nhau mà không bị lỗi Xcode 11.
fs_tigre

Câu trả lời:


11

Vấn đề đối với tôi là vì tôi đã có ứng dụng chạy nền. Sau khi đóng trình giả lập, tôi có thể sao chép / cắt và dán (ngay cả trong các tệp bảng phân cảnh khác nhau).


Điều này làm việc cho tôi!
Bijoy Thangaraj

Điều này hoàn toàn làm việc cho tôi! Cảm ơn bạn!!
josher932

9

Xcode-> Tùy chọn-Vị trí Nhấp vào mũi tên nhỏ bên dưới "Dữ liệu được tạo" và xóa thư mục đó. Sau khi tôi làm điều này, tôi có thể cắt và dán giữa các bảng phân cảnh.


Cảm ơn rất nhiều, Đây là một giải pháp phù hợp sau khi đối phó một số cảnh trong bảng phân cảnh của dự án khác.
Miguel A.

đây là điều duy nhất làm việc cho tôi trong Xcode 11.3
binsnoel

làm việc tuyệt vời hoàn hảo ...!
Aqib Zareen

8

Vấn đề tương tự ở đây. Tôi nghĩ đó là một lỗi với Xcode 11 mới.

Tìm thấy một cách giải quyết nhanh chóng. Thay vì sao chép và dán bộ điều khiển chế độ xem sẽ khiến Xcode bị sập, bạn có thể sử dụng cmd + D để sao chép bộ điều khiển chế độ xem. Nhưng điều này sẽ chỉ hữu ích nếu trong cùng một bảng phân cảnh


1
Cảm ơn một triệu
Petr Fiala

4

Chọn Xem Trình điều khiển, Chỉnh sửa> sao chép

Trên bảng phân cảnh khác, Chỉnh sửa> dán


Sau đó, vẫn bị lỗi Xcode Phiên bản 11.1 (11A1027)
Mohit G.

2

Tôi tìm thấy một bản hack nhanh chóng, đi đến trình điều hướng dự án của bạn sau đó nhấp chuột phải vào tệp .storyboard của bạn và chọn mở làm Mã nguồn.

bạn sẽ nhận được bảng phân cảnh của mình ở định dạng xml, tìm kiếm và sao chép lớp của trình điều khiển và dán giống như cách bạn đã sao chép nó trong bảng phân cảnh khác. đảm bảo lấy toàn bộ mã của trình điều khiển xem.

            <!--Detail View Controller-->
    <scene sceneID="n6l-mp-H1E"> .... </scene>

Giải pháp hoàn hảo. Làm việc cho tôi
Akash Bhardwaj

0

Hai trường hợp có thể xảy ra:

  • hoặc bạn phải sao chép và dán từ dự án này sang dự án khác;
  • hoặc trong cùng một dự án, nhưng khác nhau hoặc cùng một bảng phân cảnh.

Bạn có thể sửa nó bằng cách đóng trình giả lập đang chạy trong nền, sau đó sao chép và dán hoặc bằng cách sao chép và dán từ bảng phân cảnh của bạn (định dạng XML).


0

Tôi đã thấy rằng thay vì chọn cảnh, chọn trình điều khiển xem và thực hiện sao chép và dán vào bảng phân cảnh mới hoạt động.

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


0

Có vẻ như kernel có vấn đề trong khi dán toàn bộ bảng phân cảnh, nhưng điều này chỉ xảy ra khi các ứng dụng giả lập được mở. Đóng ứng dụng giả lập và thử dán nó để nó hoạt động hoàn hảo


0

Kéo và thả làm việc thay vì sao chép / dán cho tôi. Chúc mừng mã hóa!

kéo và thả


0

Tôi phải đối mặt với vấn đề này rất nhiều thời gian, có vẻ như là do phiên bản Xcode mới.

Đây là giải pháp phù hợp với tôi.

Xóa dữ liệu phái sinh và khởi động lại XCode.

Làm sạch & xây dựng dự án.

Đảm bảo XCode không nên bận trong các tác vụ sau:

  • Dự án xây dựng

  • Lập chỉ mục (chờ cho đến khi kết thúc)

  • Chạy dự án

  • Mở bảng phân cảnh

Bây giờ bạn có thể cố gắng sao chép một trình điều khiển chế độ xem từ bảng phân cảnh này sang bảng phân cảnh khác.

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.