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