Я пытаюсь открыть панель предварительного просмотра:
QLPreviewPanel.shared().makeKeyAndOrderFront(self)
для действительного QLPreviewItem (url).
Это хорошо работает для обычных файлов, но вылетает при работе с папками и некоторыми конкретными URL-адресами., например, файлы подключения к Интернету vnc (.vnc).
Ошибка консоли:
[Layout] Невозможно одновременно удовлетворить ограничения: ("", "", "","", "")
Будет пытаться выполнить восстановление, нарушив ограничение
Установите для NSUserDefault NSConstraintBasedLayoutVisualizeMutuallyExclusiveConstraints значение YES, чтобы - [NSWindow visualizeConstraints:] автоматически вызывалось, когда это происходит.И / или, установите символическую точку останова на LAYOUT_CONSTRAINTS_NOT_SATISFIABLE, чтобы перехватить это в отладчике.
Учитывая подсказку, я устанавливаю NSConstraintBasedLayoutVisualizeMutuallyExclusiveConstraints для YES:
*.(true, forKey: «NSConstraintBasedLayoutVisualizeMutuallyExclusiveConstraints») UserDefaults.standard.synchronize ()
Но это не помогает вообще.Точно такая же ошибка брошена.Мое приложение все еще падает.
Добавление NSConstraintBasedLayoutVisualizeMutuallyExclusiveConstraints в качестве аргумента также не работало.Кроме того, использование int (1) вместо логического (true) не имело никакого значения.
Сейчас я потерялся, потому что мое приложение падает, и я понятия не имею, как решить эту проблему.Любая помощь для решения этой проблемы будет принята с благодарностью.
обновление / добавление
FWIW: Я не устанавливал никаких ограничений самостоятельно или делал какие-либо другие настройки.Просто попробуйте открыть панель с использованием API по умолчанию.Код работает правильно для PDF и других видов обычных файлов.Сбои на VNC, папках.