Ios 从不同的故事板复制/粘贴视图时,Xcode 11崩溃
我在Catalina上运行Xcode 11时遇到问题(Moave也有同样的问题)。 当我尝试将视图或ViewController从一个情节提要复制/粘贴到另一个情节提要时,Xcode崩溃,出现以下异常:Ios 从不同的故事板复制/粘贴视图时,Xcode 11崩溃,ios,xcode,macos,macos-catalina,Ios,Xcode,Macos,Macos Catalina,我在Catalina上运行Xcode 11时遇到问题(Moave也有同样的问题)。 当我尝试将视图或ViewController从一个情节提要复制/粘贴到另一个情节提要时,Xcode崩溃,出现以下异常: ... Exception Type: EXC_CRASH (SIGABRT) Exception Codes: 0x0000000000000000, 0x0000000000000000 Exception Note: EXC_CORPSE_NOTIF
...
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
...
。。。
异常类型:EXC_崩溃(SIGABRT)
异常代码:0x0000000000,0x0000000000000000
例外说明:EXC_尸体通知
特定于应用程序的信息:
从发送粘贴到IBStructureAreaDockView
ProductBuildVersion:11A1027
/Library/Caches/com.apple.xbs/Sources/IDEInterfaceBuilder/IDEInterfaceBuilder-15400/InterfaceBuilderKit/widgeintegration/View/IBViewIntegration.m:2451中的断言失败
详细信息:从粘贴板提取的所有约束项应只有一个父项:{(
)}
对象:
方法:-ibDidExtractObjects:fromPasteboard:intoDocument:context:
线程:{number=1,name=main}
提示:
0:从发送粘贴到IBStructureAreaDockView
回溯:
0-[IDEAssertionHandler handleFailureInMethod:对象:文件名:行号:断言签名:messageFormat:参数:](在IDEKit中)
1_DVTAssertionHandler(位于DVT地基中)
2_DVTAssertionFailureHandler(位于DVT地基中)
3-[NSView(IBMViewIntegration)IBMIDExtractObjects:fromPasteboard:intoDocument:context:](在IDEInterfaceBuilderKit中)
4-[IBUIView(IBuiveIntegration)ibDidExtractObjects:fromPasteboard:intoDocument:context:(在IDEInterfaceBuilder中)
5-[IBDocument ibDidExtractObjects:fromPasteboard:context:](在IDEInterfaceBuilderKit中)
6-[IBDocument insertObjectsFromPasteboard:类型:asChildrenOfObject:atIndex:context:finishExtractingObjectsBlock:](在IDEInterfaceBuilderKit中)
7-[IBDocument insertOrMoveChildrenFromPasteboard:类型:asChildrenOfObject:atIndex:context:FinishExtractingObject块:](在IDEInterfaceBuilderKit中)
8-[IBDocument Add或MoveChildrenFromPasteBoard:类型:toObject:上下文:finishExtractingObjectsBlock:](在IDEInterfaceBuilderKit中)
9-[IBStoryboard文档添加或移动子项从粘贴板:类型:到场景组:上下文:](在IDEInterfaceBuilderKit中)
10-[IBSceneDockViewController使用粘贴板执行锁定粘贴:上下文:](在IDEInterfaceBuilderKit中)
11-[IBSceneDockViewController dockViewPerformPaste:](在IDEInterfaceBuilderKit中)
12-[IBStructureAreaDockView粘贴:](在IDEInterfaceBuilderKit中)
13-[NSApplication(NSResponder)发送操作:到:从:](在AppKit中)
14__37-[DVTApplication sendAction:to:from:][u block_invoke.86(在DVTKit中)
15 DVTInvokeWithFailureHint(在DVT基础中)
16-[DVTApplication sendAction:to:from:](在DVTKit中)
17-[NSMenuItem\u CorePerformation](应用套件中)
18-[NSCARBONMENUIMPLE Performance with highlighting for itematIndex:](在应用工具包中)
19-[NSMenu performKeyEquivalent:](在AppKit中)
20 routeKeyEquivalent(在AppKit中)
21-[NSApplication(NSEvent)sendEvent:](在AppKit中)
22-[IDEApplication sendEvent:](在IDEKit中)
23-[N应用程序运行](在AppKit中)
24 N应用程序主(在应用程序套件中)
25主(在Xcode中)
26启动(在libdyld.dylib中)
从发送方NSMenuItem 0x7fe24030ddd0执行@selector(粘贴:)
调用了abort()
特定于应用程序的签名:
[parentsOfItemsInConstraints计数]==1
...
这会发生在其他人身上吗?故事板不支持这一点吗?我发现了一个快速破解方法,请转到项目导航器,然后右键单击.storyboard文件并选择“作为源代码打开” 您将获得xml格式的情节提要,搜索并复制控制器的类,并以与在其他情节提要中复制该类相同的方式进行粘贴。 确保获得视图控制器的完整代码
<!--Detail View Controller-->
<scene sceneID="n6l-mp-H1E"> .... </scene>
....
这里也有同样的问题。我认为这是新Xcode 11的一个bug
找到了一个快速的解决方法。您可以使用cmd+D复制视图控制器,而不是复制和粘贴视图控制器(这将导致Xcode崩溃)。但这只有在同一情节提要中选择“视图控制器”、“编辑”>“复制”时才有用
在另一个情节提要上,编辑>粘贴Xcode->首选项位置 单击“派生数据”下面的小箭头并删除该文件夹。
完成后,我可以在故事板之间剪切和粘贴。对我来说,问题在于我的应用程序在后台运行。关闭模拟器后,我可以复制/剪切和粘贴(即使在不同的故事板文件中)。两种可能的情况:
- 要么你必须从一个项目复制粘贴到另一个项目李>
- 或者在同一个项目中,但不同或相同的情节提要
您可以通过关闭在后台运行的仿真器,然后复制并粘贴,或者从情节提要(XML格式)复制并粘贴来修复此问题。我发现,与其选择场景,不如选择视图控制器,然后执行复制并粘贴到新情节提要的操作
粘贴整个情节提要时,其内核似乎有问题,但这只发生在模拟器应用程序打开时。关闭模拟器应用程序并尝试粘贴它,它工作得非常完美拖放操作对我来说有效,而不是复制/粘贴。快乐编码
我经常面临这个问题,这似乎是因为新版本的Xcode 这是一个适合我的解决方案 删除派生数据并重新启动XCode 清洁和建造项目 确保XCode在以下任务中不繁忙:
- 建筑工程
- 索引(等待完成)
- 运行项目
- 故事板打开
现在,您可以尝试将一个视图控制器从一个故事板复制到另一个,这是可能的。我尝试过清除派生数据、清理项目和项目文件夹,并多次强制重新启动Xcode,但所有这些都不起作用 此外,我无法复制视图,因为我