Ich habe ein Problem mit Xcode 11 auf Catalina (es hatte das gleiche Problem mit Moave). Wenn ich versuche, eine Ansicht oder einen ViewController von einem Storyboard in ein anderes zu kopieren / einzufügen, stürzt Xcode mit der folgenden Ausnahme ab:
...
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
...
Passiert es jemand anderem? Wird dies vom Storyboard nicht unterstützt?
ios
xcode
macos
macos-catalina
LorenzOliveto
quelle
quelle
cmd + D
funktioniert, wenn Sie einen einzelnen viewController innerhalb desselben Storyboards duplizieren möchten. Ich muss ihn jedoch kopieren und in ein anderes Storyboard einfügen.Antworten:
Das Problem für mich war, dass ich die App im Hintergrund laufen ließ. Nach dem Schließen des Emulators konnte ich kopieren / ausschneiden und einfügen (auch in verschiedenen Storyboard-Dateien).
quelle
Xcode-> Einstellungen-Standorte Klicken Sie auf den kleinen Pfeil unter "Abgeleitete Daten" und löschen Sie diesen Ordner. Danach konnte ich zwischen Storyboards ausschneiden und einfügen.
quelle
Gleiches Problem hier. Ich denke, es ist ein Fehler mit dem neuen Xcode 11.
Es wurde eine schnelle Problemumgehung gefunden. Anstatt Ansichts-Controller zu kopieren und einzufügen, die zum Absturz von Xcode führen, können Sie die Ansichts-Controller mit cmd + D duplizieren. Dies ist jedoch nur dann nützlich, wenn Sie sich im selben Storyboard befinden
quelle
Wählen Sie View Controller, Edit> Copy
In einem anderen Storyboard Bearbeiten> Einfügen
quelle
Ich habe einen schnellen Hack gefunden, gehe zu deinem Projektnavigator, klicke mit der rechten Maustaste auf deine .storyboard-Datei und wähle Öffnen als Quellcode.
Sie erhalten Ihr Storyboard im XML-Format, suchen und kopieren die Klasse des Controllers und fügen sie auf die gleiche Weise ein, wie Sie sie in das andere Storyboard kopiert haben. Stellen Sie sicher, dass Sie den gesamten Code des View Controllers erhalten.
quelle
Zwei mögliche Fälle:
Sie können das Problem beheben, indem Sie den im Hintergrund ausgeführten Emulator schließen und dann kopieren und einfügen oder indem Sie es aus Ihrem Storyboard kopieren und einfügen (XML-Format).
quelle
Ich habe festgestellt, dass anstelle der Auswahl der Szene die Auswahl des Ansichts-Controllers und das Kopieren und Einfügen in ein neues Storyboard funktioniert.
quelle
Es scheint, als ob der Kernel Probleme beim Einfügen des gesamten Storyboards hat. Dies geschieht jedoch nur, wenn die Simulator-Apps geöffnet sind. Schließen Sie die Simulator-App und versuchen Sie, sie einzufügen. Sie funktioniert einwandfrei
quelle
Drag & Drop hat bei mir statt Kopieren / Einfügen funktioniert. Viel Spaß beim Codieren!
quelle
Ich stehe viel Zeit vor diesem Problem, es scheint, als ob es an einer neuen Version von Xcode liegt.
Hier ist die Lösung, die für mich funktioniert.
Löschen Sie abgeleitete Daten und starten Sie den XCode neu.
Reinigen und bauen Sie das Projekt.
Stellen Sie sicher, dass XCode nicht mit folgenden Aufgaben beschäftigt ist:
Bauprojekt
Indizierung (bis zum Ende warten)
Projekt ausführen
Storyboard öffnen
Jetzt können Sie versuchen, einen View Controller von einem Storyboard auf ein anderes zu kopieren. Dies ist möglich.
quelle