Xcode 11 si arresta in modo anomalo quando si copiano / incollano viste da storyboard diversi


18

Ho un problema con Xcode 11 in esecuzione su Catalina (aveva lo stesso problema con Moave). Quando provo a copiare / incollare una vista o un ViewController da uno storyboard a un altro Xcode si blocca con questa eccezione:

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

Sta succedendo a qualcun altro? Questo qualcosa non è supportato dallo storyboard?


Questo è sicuramente un bug di Xcode, quindi il meglio che puoi fare è segnalarlo su Feedback Assistant di Apple
Alladinian,

1
Lo stesso qui, posso confermare copia / incolla viewController da uno storyboard a un altro provoca l'arresto anomalo di Xcode 11 (Mojave).
Szilveszter Zsigmond,

Lo stesso qui, Xcode continua a bloccarsi durante la copia e incolla. cmd + Dfunziona se quello che vuoi è duplicare un singolo viewController all'interno dello stesso Storyboard, ma quello che mi serve è copiare e incollare in uno Storyboard diverso.
fs_tigre,

AGGIORNAMENTO - Ora ha appena iniziato a funzionare correttamente dopo aver eliminato altre versioni di Xcode che avevo installato. Forse le altre versioni stavano causando il problema, non lo so, ma è l'unica cosa che ho fatto dopo aver avuto problemi, ora posso copiare e incollare i controller di visualizzazione tra diversi storyboard senza l'arresto anomalo di Xcode 11.
fs_tigre,

Risposte:


11

Il problema per me era perché avevo l'app in esecuzione in background. Dopo aver chiuso l'emulatore sono stato in grado di copiare / tagliare e incollare (anche in diversi file di storyboard).


Questo ha funzionato per me!
Bijoy Thangaraj,

Questo ha funzionato totalmente per me! Grazie!!
josher932,

9

Xcode-> Preferenze-Posizioni Fai clic sulla piccola freccia sotto "Dati derivati" ed elimina quella cartella. Dopo averlo fatto, ho potuto tagliare e incollare tra gli storyboard.


Grazie mille, questa è una soluzione adatta dopo aver copiato alcune scene dallo storyboard di un altro progetto.
Miguel A.,

questa è l'unica cosa che ha funzionato per me in Xcode 11.3
binsnoel il

ottimo lavoro perfetto ...!
Aqib Zareen,

8

Lo stesso problema qui. Penso che sia un bug con il nuovo Xcode 11.

Ho trovato una soluzione rapida. Invece di copiare e incollare i controller di visualizzazione che causano l'arresto anomalo di Xcode è possibile utilizzare cmd + D per duplicare i controller di visualizzazione. Ma questo sarà utile solo se nello stesso storyboard


1
Grazie
mille

4

Seleziona Visualizza controller, Modifica> copia

Su un altro storyboard, Modifica> incolla


In seguito a questo si blocca ancora l'Xcode versione 11.1 (11A1027)
Mohit G.

2

ho trovato un trucco rapido, vai sul navigatore del progetto, quindi fai clic con il pulsante destro del mouse sul file .storyboard e scegli Apri come codice sorgente.

otterrai lo storyboard in formato xml, cercherai e copierai la classe del controller e incollerai nello stesso modo in cui lo hai copiato nell'altro storyboard. assicurati di ottenere l'intero codice del controller di visualizzazione.

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

Soluzione perfetta Ha funzionato per me
Akash Bhardwaj,

0

Due possibili casi:

  • o devi copiare e incollare da un progetto all'altro;
  • o all'interno dello stesso progetto, ma storyboard diverso o uguale.

Puoi risolverlo chiudendo l'emulatore in esecuzione in background e quindi copiando e incollando o copiando e incollando dallo storyboard (formato XML).


0

Ho scoperto che invece di selezionare la scena, selezionare il controller di visualizzazione ed eseguire una copia e incolla nel nuovo storyboard ha funzionato.

inserisci qui la descrizione dell'immagine


0

Sembra che il kernel abbia dei problemi mentre si incolla l'intero storyboard, ma questo accade solo quando le app del simulatore sono aperte. Chiudi l'app simulatore e prova a incollarlo funziona perfettamente


0

Drag and drop ha funzionato invece di copia / incolla per me. Buona programmazione!

trascinare e rilasciare


0

Devo affrontare questo problema molto tempo, sembra che sia dovuto alla nuova versione di Xcode.

Ecco la soluzione che funziona per me.

Elimina i dati derivati e riavvia XCode.

Pulisci e costruisci il progetto.

Assicurarsi che XCode non dovrebbe essere occupato nelle seguenti attività:

  • Progetto di costruzione

  • Indicizzazione (attendere fino al termine)

  • Progetto in corso

  • Apertura dello storyboard

Ora puoi provare a copiare un controller di visualizzazione da uno storyboard all'altro, può essere possibile.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.