Я пытаюсь заставить приложение Apple FunHouse встраивать новые версии Xcode - после Xcode 9 главное окно черное. Я узнал, что в Xcode 9, когда NSOpenGLView
запрашивает текущий graphicsContext
в drawRect:
, он возвращает NSWindowGraphicsContext
. В Xcode 10+ он получает NSBitMapGraphicsContext
. [Это получается только тогда, когда вы заставляете подкласс НЕ использовать представление с резервной копией слоя, которое, по-видимому, используется по умолчанию после 9, в противном случае currentContext
.]
Весь этот код нуждается в переработке, нолегче начать с чего-то, что работает, и улучшить его, вместо того, чтобы пробовать то и это и не делать этого. Подкласс 'drawRect
проверяет, отображается ли контекст на экране, и использует разные пути в зависимости от результата.
Так что на самом деле мой вопрос - учитывая, что я могу нарисовать это NSBitMapContext
, какполучить результат на экране?