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?
ios
xcode
macos
macos-catalina
LorenzOliveto
sumber
sumber
cmd + D
tidak 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.Jawaban:
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).
sumber
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.
sumber
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
sumber
Pilih View Controller, Edit> copy
Di storyboard lain, Edit> paste
sumber
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.
sumber
Dua kemungkinan kasus:
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).
sumber
Saya telah menemukan bahwa alih-alih memilih adegan, memilih controller tampilan dan melakukan copy dan paste ke storyboard baru bekerja.
sumber
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
sumber
Seret dan lepas berfungsi alih-alih salin / tempel untuk saya. Selamat coding!
sumber
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.
sumber