다른 스토리 보드에서 뷰를 복사 / 붙여 넣기하면 Xcode 11이 충돌합니다


18

Catalina에서 Xcode 11을 실행하는 데 문제가 있습니다 (Moave와 동일한 문제가 있습니다). 한 스토리 보드에서 다른 Xcode로 뷰 또는 ViewController를 복사 / 붙여 넣으려고하면이 예외가 발생하여 충돌합니다.

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

다른 사람에게 일어나고 있습니까? 스토리 보드에서 지원되지 않는 것입니까?


이것은 분명히 Xcode 버그이므로 Apple의 Feedback Assistant
Alladinian

1
여기서도 동일한 스토리 보드에서 다른 스토리 보드로 viewController 복사 / 붙여 넣기를 확인하면 Xcode 11 (Mojave) 충돌이 발생합니다.
Szilveszter Zsigmond

복사와 붙여 넣기시 Xcode가 계속 충돌합니다. cmd + D원하는 것이 동일한 스토리 보드 내에서 단일 viewController를 복제하는 경우 작동하지만 필요한 것은 다른 스토리 보드에 복사하여 붙여 넣는 것입니다.
fs_tigre

업데이트-이제 내가 설치 한 다른 버전의 Xcode를 삭제 한 후 정상적으로 작동하기 시작했습니다. 다른 버전에서 문제가 발생했을 수도 있습니다. 잘 모르겠지만 문제가 발생한 후 수행 한 유일한 작업이므로 이제 Xcode 11 충돌없이 다른 스토리 보드간에 View Controller를 복사하여 붙여 넣을 수 있습니다.
fs_tigre

답변:


11

문제는 백그라운드에서 앱을 실행했기 때문입니다. 에뮬레이터를 닫은 후 (다른 스토리 보드 파일에서도) 복사 / 잘라 내기 및 붙여 넣기를 수행 할 수있었습니다.


이것은 나를 위해 일했다!
Bijoy Thangaraj

이것은 완전히 나를 위해 일했습니다! 감사합니다!!
josher932

9

Xcode-> 기본 설정-위치 "파생 데이터"아래에있는 작은 화살표를 클릭하고 해당 폴더를 삭제하십시오. 이 작업을 마친 후 스토리 보드를 잘라 붙여 넣을 수있었습니다.


대단히 감사합니다. 이것은 다른 프로젝트 스토리 보드의 일부 장면을 처리 한 후 적합한 솔루션입니다.
Miguel A.

이것은 Xcode 11.3에서 나를 위해 일한 유일한 것입니다
binsnoel

위대한 일을 완벽하게 ...!
Aqib Zareen

8

여기서도 같은 문제입니다. 새로운 Xcode 11의 버그라고 생각합니다.

빠른 해결 방법을 찾았습니다. Xcode가 충돌하는 뷰 컨트롤러를 복사하여 붙여 넣는 대신 cmd + D를 사용하여 뷰 컨트롤러를 복제 할 수 있습니다. 그러나 이것은 동일한 스토리 보드에있는 경우에만 유용합니다


1
감사합니다 백만
Petr Fiala

4

View Controller, Edit> copy를 선택하십시오.

다른 스토리 보드에서 편집> 붙여 넣기


이 여전히 엑스 코드 버전 11.1 (11A1027) 충돌 후
Mohit G.

2

빠른 해킹을 발견하고 프로젝트 탐색기로 이동 한 다음 .storyboard 파일을 마우스 오른쪽 버튼으로 클릭하고 소스 코드로 열기를 선택하십시오.

스토리 보드를 xml 형식으로 가져 와서 컨트롤러 클래스를 검색 및 복사하고 다른 스토리 보드에 복사 한 것과 같은 방식으로 붙여 넣습니다. 뷰 컨트롤러의 전체 코드를 가져와야합니다.

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

완벽한 솔루션. 나를 위해 일한
아카 쉬 Bhardwaj의

0

두 가지 가능한 경우 :

  • 한 프로젝트에서 다른 프로젝트로 복사하여 붙여 넣어야합니다.
  • 또는 동일한 프로젝트 내에서 다르지만 동일한 스토리 보드.

백그라운드에서 실행중인 에뮬레이터를 닫은 다음 복사하여 붙여 넣거나 스토리 보드에서 복사하여 붙여 넣기 (XML 형식)하여 문제를 해결할 수 있습니다.


0

장면을 선택하는 대신 뷰 컨트롤러를 선택하고 복사하여 새 스토리 보드에 붙여 넣기를 수행한다는 것을 알았습니다.

여기에 이미지 설명을 입력하십시오


0

스토리 보드 전체를 붙여 넣는 동안 커널에 문제가있는 것 같습니다. 그러나 이것은 시뮬레이터 앱이 열려있을 때만 발생합니다. 시뮬레이터 앱을 닫고 완벽하게 붙여 넣으십시오.


0

드래그 앤 드롭은 복사 / 붙여 넣기 대신 작동했습니다. 행복한 코딩!

끌어서 놓기


0

나는이 문제에 많은 시간을 직면하고 있으며, 새로운 버전의 Xcode로 인한 것 같습니다.

여기에 맞는 해결책이 있습니다.

파생 데이터를 삭제 하고 XCode를 다시 시작하십시오.

프로젝트를 정리하고 빌드 하십시오.

다음 작업에서 XCode가 사용 중이 아닌지 확인하십시오.

  • 건축 프로젝트

  • 색인 생성 (완료까지 기다림)

  • 프로젝트 실행

  • 스토리 보드 오프닝

이제 한 스토리 보드에서 다른 스토리 보드로 하나의 뷰 컨트롤러를 복사 할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.