Xcode 11 lumpuh saat menyalin / menempel tampilan dari storyboard yang berbeda

18

Saya memiliki masalah dengan Xcode 11 berjalan pada Catalina (memiliki masalah yang sama dengan Moave). Ketika saya mencoba menyalin / menempelkan tampilan atau ViewController dari satu storyboard ke Xcode lainnya crash dengan pengecualian ini:

...
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
...

Apakah itu terjadi pada orang lain? Apakah ini sesuatu yang tidak didukung oleh storyboard?

LorenzOliveto
sumber
Ini jelas merupakan bug Xcode, jadi yang terbaik yang dapat Anda lakukan adalah melaporkannya di Asisten Umpan Balik Apple
Alladinian
1
Hal yang sama di sini, saya dapat mengonfirmasi copy / paste viewController dari satu storyboard ke yang lain menyebabkan Xcode 11 (Mojave) crash.
Szilveszter Zsigmond
Sama di sini, Xcode terus macet saat menyalin dan menempel. cmd + Dtidak berfungsi jika apa yang Anda inginkan adalah duplikat viewController tunggal dalam Storyboard yang sama tetapi yang saya butuhkan adalah menyalin dan menempel ke Storyboard yang berbeda.
fs_tigre
PEMBARUAN - Sekarang baru mulai berfungsi dengan baik setelah menghapus versi Xcode lain yang telah saya instal. Mungkin versi lain yang menyebabkan masalah, saya tidak tahu tapi itu satu-satunya hal yang saya lakukan setelah mengalami masalah, sekarang saya bisa menyalin dan menempelkan View Controllers antara Storyboards yang berbeda tanpa Xcode 11 yang mogok.
fs_tigre

Jawaban:

11

Masalahnya bagi saya adalah karena saya menjalankan aplikasi di latar belakang. Setelah menutup emulator saya dapat menyalin / memotong dan menempel (bahkan dalam file storyboard yang berbeda).

Mateus Cerqueira
sumber
Ini berhasil untuk saya!
Bijoy Thangaraj
Ini benar-benar bekerja untuk saya! Terima kasih!!
josher932
9

Xcode-> Preferensi-Lokasi Klik pada panah kecil di bawah "Data yang Diperoleh" dan hapus folder itu. Setelah saya melakukan ini saya bisa memotong dan menempel di antara storyboard.

jspicer
sumber
Terima kasih banyak, ini adalah solusi yang pas setelah mengatasi beberapa adegan dari storyboard proyek lain.
Miguel A.
ini adalah satu-satunya hal yang bekerja untuk saya di Xcode 11.3
binsnoel
sempurna bekerja hebat ...!
Aqib Zareen
8

Masalah yang sama di sini. Saya pikir ini bug dengan Xcode 11 baru.

Menemukan solusi cepat. Alih-alih menyalin dan menempel pengendali tampilan yang akan menyebabkan Xcode macet, Anda dapat menggunakan cmd + D untuk menduplikasi pengendali tampilan. Tapi ini hanya akan berguna jika di storyboard yang sama

Antonio
sumber
1
Terima kasih satu juta
Petr Fiala
4

Pilih View Controller, Edit> copy

Di storyboard lain, Edit> paste

tdt kien
sumber
Menyusul ini masih menabrak Versi Xcode 11.1 (11A1027)
Mohit G.
2

saya menemukan hack cepat, pergi ke navigator proyek Anda kemudian klik kanan pada file .storyboard Anda dan pilih buka sebagai kode sumber.

Anda akan mendapatkan storyboard Anda dalam format xml, mencari dan menyalin kelas controller, dan menempelkan cara yang sama Anda menyalinnya di storyboard lain. pastikan untuk mendapatkan seluruh kode dari view controller.

            <!--Detail View Controller-->
    <scene sceneID="n6l-mp-H1E"> .... </scene>
NiTrOs
sumber
Solusi sempurna. Bekerja untuk saya
Akash Bhardwaj
0

Dua kemungkinan kasus:

  • Anda harus menyalin dan menempel dari satu proyek ke proyek lain;
  • atau dalam proyek yang sama, tetapi storyboard berbeda atau sama.

Anda dapat memperbaikinya dengan menutup emulator yang berjalan di latar belakang dan kemudian menyalin dan menempel atau dengan menyalin dan menempel dari storyboard Anda (format XML).

Milind Kumar
sumber
0

Saya telah menemukan bahwa alih-alih memilih adegan, memilih controller tampilan dan melakukan copy dan paste ke storyboard baru bekerja.

masukkan deskripsi gambar di sini

yilin
sumber
0

Sepertinya kernel memiliki masalah saat menempelkan seluruh storyboard, tetapi ini hanya terjadi ketika aplikasi simulator terbuka. Tutup aplikasi simulator dan coba tempel itu berfungsi dengan sempurna

Saran Jasty
sumber
0

Seret dan lepas berfungsi alih-alih salin / tempel untuk saya. Selamat coding!

drag_and_drop

Asil ARSLAN
sumber
0

Saya menghadapi masalah ini banyak waktu, sepertinya karena versi baru Xcode.

Inilah solusi yang cocok untuk saya.

Hapus Data yang Diperoleh dan mulai ulang XCode.

Bersihkan & bangun proyek.

Pastikan XCode tidak harus sibuk dalam tugas-tugas berikut:

  • Proyek Pembangunan

  • Pengindeksan (tunggu sampai selesai)

  • Menjalankan Proyek

  • Pembukaan Storyboard

Sekarang Anda dapat mencoba menyalin pengontrol tampilan satu dari satu storyboard ke yang lain itu mungkin.

Mr.Javed Multani
sumber