Несуществующий пользовательский атрибут времени выполнения - PullRequest
0 голосов
/ 11 января 2019

У меня есть простое приложение Mac, которое получает следующую ошибку при открытии документа: Не удалось установить (allowDragging) определяемое пользователем проверяемое свойство для (PKMPDFView): [setValue: forUndefinedKey:]: этот класс не совместим со значением ключа для кодирования allowDragging.

Если я перехватываю попытку «установки», я вижу, что она происходит из метода - [NSIBUserDefinedRuntimeAttributesConnector InstallConnection] во время загрузки пера.

Полный след:

0   PDFApp                              0x0000000100003592 -[PKMPDFView setValue:forUndefinedKey:] + 49
1   Foundation                          0x00007fff309b8dde -[NSObject(NSKeyValueCoding) setValue:forKey:] + 331
2   AppKit                              0x00007fff2c08af15 -[NSView setValue:forKeyPath:] + 394
3   AppKit                              0x00007fff2c00d029 -[NSIBUserDefinedRuntimeAttributesConnector establishConnection] + 637
4   AppKit                              0x00007fff2bdd9719 -[NSIBObjectData nibInstantiateWithOwner:options:topLevelObjects:] + 1430
5   AppKit                              0x00007fff2bdd0991 loadNib + 435
6   AppKit                              0x00007fff2bdcfeb5 +[NSBundle(NSNibLoading) _loadNibFile:nameTable:options:withZone:ownerBundle:] + 696
7   AppKit                              0x00007fff2c005aba +[NSBundle(NSNibLoadingInternal) _loadNibFile:externalNameTable:options:withZone:] + 150
8   AppKit                              0x00007fff2c005893 -[NSWindowController loadWindow] + 322
9   AppKit                              0x00007fff2be18cf5 -[NSWindowController window] + 84
10  AppKit                              0x00007fff2bfd8134 -[NSWindowController showWindow:] + 36
11  AppKit                              0x00007fff2be18c7a -[NSDocument showWindows] + 116
12  PDFApp                              0x0000000100002e75 -[PKMPDFDocument showWindows] + 50
13  AppKit                              0x00007fff2c35f13e __80-[NSDocumentController openDocumentWithContentsOfURL:display:completionHandler:]_block_invoke.1039 + 182
14  AppKit                              0x00007fff2c36ef70 ___NSMainRunLoopPerformBlock_block_invoke + 25
15  CoreFoundation                      0x00007fff2e897a3c __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 12
16  CoreFoundation                      0x00007fff2e87a973 __CFRunLoopDoBlocks + 275
17  CoreFoundation                      0x00007fff2e879ffe __CFRunLoopRun + 1278
18  CoreFoundation                      0x00007fff2e879867 CFRunLoopRunSpecific + 487
19  HIToolbox                           0x00007fff2db59d96 RunCurrentEventLoopInMode + 286
20  HIToolbox                           0x00007fff2db59b06 ReceiveNextEventCommon + 613
21  HIToolbox                           0x00007fff2db59884 _BlockUntilNextEventMatchingListInModeWithFilter + 64
22  AppKit                              0x00007fff2be09a73 _DPSNextEvent + 2085
23  AppKit                              0x00007fff2c59fe34 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 3044
24  AppKit                              0x00007fff2bdfe885 -[NSApplication run] + 764
25  AppKit                              0x00007fff2bdcda72 NSApplicationMain + 804
26  libdyld.dylib                       0x00007fff56848015 start + 1

Что меня смущает, так это то, что PKMPDFView является прямым подклассом NSView и не имеет пользовательских свойств, связанных с ним в загружаемом файле .xib. В этом представлении также нет выходов, определенных в .xib, только ссылка на выход (contentView) из его документа. Запуск find / grep через мой каталог разработки нигде не находит ни одного экземпляра «allowDragging». Аналогично, использование утилиты strings не выявляет «allowDragging» во встроенном приложении.

Я попробовал все стандартные очистки проекта без каких-либо изменений симптомов.

В данный момент я испытываю желание просто переопределить setValue:forUndefinedKey: и забыть об этом, но мне все еще любопытно. У кого-нибудь есть информация или хорошие предположения о том, откуда это будет исходить?

(Это Xcode 10.1 на macOS 10.13.6, в случае, если это имеет значение.)

...