Xcode 11 виходить з ладу під час копіювання / вставлення переглядів з різних мов


18

У мене проблема з Xcode 11, що працює на Каталіні (у мене була така ж проблема з Moave). Коли я намагаюся скопіювати / вставити представлення даних або ViewController з однієї рекламної панелі на іншу, Xcode випадає з цим винятком:

...
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 із зворотного зв’язку
Алладіан

1
Це ж саме тут, я можу підтвердити копіювання / вставлення viewController з однієї розкладки на іншу, викликає збій Xcode 11 (Mojave).
Szilveszter Zsigmond

Тут же, Xcode постійно виходить з ладу під час копіювання та вставлення. cmd + Dпрацює, якщо те, що ви хочете, дублює один viewController в межах однієї дошки, але мені потрібно скопіювати та вставити на іншу дошку.
fs_tigre

ОНОВЛЕННЯ - Тепер він просто почав працювати добре після видалення інших встановлених мною версій Xcode. Можливо, інші версії викликали проблему, я не знаю, але це єдине, що я зробив після проблем, тепер я можу копіювати та вставляти контролери перегляду між різними панелями розкадрів без збоїв Xcode 11.
fs_tigre

Відповіді:


11

Проблема для мене полягала в тому, що у мене програма працювала у фоновому режимі. Після закриття емулятора я зміг скопіювати / вирізати та вставити (навіть у різні файли розкадрівки).


Це працювало для мене!
Bijoy Thangaraj

Це повністю працювало для мене! Дякую!!
josher932

9

Xcode-> Preferences-Locations Клацніть на стрілочку під «Отримані дані» та видаліть цю папку. Після того, як я це зробив, я міг вирізати та вставити між раскадровками.


Велике спасибі, це підходяще рішення після вирішення деяких сцен із розкадрів іншого проекту.
Мігель А.

це єдине, що працювало для мене в Xcode 11.3
binsnoel

чудово працює ідеально ...!
Aqib Zareen

8

Тут же питання. Я думаю, що це помилка з новим Xcode 11.

Знайдено швидке вирішення. Замість того, щоб копіювати та вставляти контролери подання, що спричинить збій Xcode, ви можете використовувати cmd + D для дублювання контролерів перегляду. Але це стане в нагоді лише в тому ж самому сюжетному аркуші


1
Дякую мільйон
Петро Фіала

4

Виберіть Переглянути контролер, Редагувати> копіювати

На іншій дошці повідомлень редагуйте> вставити


Після цього все ще аварії версії Xcode 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 не повинен зайнятися наступними завданнями:

  • Проект будівництва

  • Індексація (дочекайтеся закінчення)

  • Запуск проекту

  • Відкриття розгортки

Тепер ви можете спробувати скопіювати один контролер перегляду з однієї розкладки на іншу, це можливо.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.