Я получил эту ошибку от Apple во время публикации моего приложения. Как я могу решить эту проблему? Мы обнаружили, что когда включен темный режим, дополнительные значки в строке меню не видны. Я не могу найти в Интернете ничего для определения темного режима ...
Mac OS в темном режиме
Ответы (1)
Я вижу термин cache
в вашем коде и делаю некоторые предположения:
Похоже, вы загружаете изображения, затем манипулируете ими и сохраняете обработанные изображения для последующего использования. Вам необходимо позаботиться о нескольких вещах:
Прежде всего, убедитесь, что текущий внешний вид установлен правильно, когда вы выполняете загрузку / изменение изображения. Помимо drawRect:
и некоторых других методов, вам всегда нужно танцевать примерно так:
NSAppearance * savedAppearance = [NSAppearance currentAppearance];
[NSAppearance setCurrentAppearance:someView.effectiveAppearance];
// Do your image/color/drawing stuff.
[NSAppearance setCurrentAppearance:savedAppearance];
Имейте в виду, что внешний вид ограничен определенным видом! Вы можете иметь разный вид в одной и той же иерархии представлений.
Вам нужно либо переопределить viewDidChangeEffectiveAppearance
вашего NSView
, либо KVObserve effectiveAppearance
представления, чтобы получать уведомления об изменениях внешнего вида и реагировать соответствующим образом (воссоздавать свои значки).