Как создать приложение, работающее в Mac OS 10.6 и поддерживающее NSUserNotificationCenter?

Я провел много исследований, но просто не смог найти то, что ищу :В настоящее время для Deployment Targetи Base SDKмоего приложения установлено значение 10.8, и оно работает отлично. Я могу правильно публиковать уведомления в новом Центре уведомлений Mountain Lions!

Чтобы создать приложение, которое также работает под Mac OS 10.6, я установил цель развертывания на 10.6 и построил его (. как рекомендовано в этой теме). К сожалению, в версии 10.6 происходит сбой приложения, и в отчете о сбое подробно говорится, что не удалось найти NSUserNotificationCenter (Нет обработки версии ОС ).

--

Итак, что я обязательно должен сделать, так это проверить, существует ли класс NSUserNotificationCenter:

notificationCenterIsAvailable = (NSClassFromString(@"NSUserNotificationCenter")!=nil);

и работать на основе этого логического флага.

Но как насчет кода, который не может основываться на этом флаге, например :

  • ? интерфейс..: {
  • или тип ссылки на Центр уведомлений:NSUserNotificationCenter *centerв свойствах класса?

Моей первой мыслью было динамически изменить заголовок класса во время выполнения, т. е. добавить методы и свойства для обработки Центра уведомлений в зависимости от того, существует класс или нет, но это кажется действительно сложным?!

10
задан Community 23 May 2017 в 11:55
поделиться