我做了很多研究,但找不到我要找的东西:目前,我的应用程序的Deployment Target
和Base SDK
都设置为10.8
,并且运行良好。我可以正确地将通知发布到 Mountain Lions 的新通知中心!
为了构建一个也可以在 Mac OS 下运行的应用程序10.6
,我将部署目标设置为 10.6 并构建了它(如本线程中所建议的那样)。不幸的是,该应用程序在 10.6 上崩溃,并且崩溃报告详细说明找不到 NSUserNotificationCenter(无操作系统版本处理)。
--
所以我肯定要做的是检查 NSUserNotificationCenter 类是否存在:
notificationCenterIsAvailable = (NSClassFromString(@"NSUserNotificationCenter")!=nil);
并基于此布尔标志进行操作。
但是不能基于这个标志的代码呢,比如:
- 界面
..: <NSUserNotificationCenterDelegate> {
- 或对通知中心的引用类型:
NSUserNotificationCenter *center
在类的属性中?
我的第一个想法是在运行时动态更改类头,即根据类是否存在添加方法和属性来处理通知中心,但这看起来真的很复杂?!