我想快速转换出已弃用的推送通知常量,但顺利.我知道实现远程和本地通知的方法也发生了变化,但这超出了本问题的范围.
以下是应考虑的一些因素/约束:
>我有一个相当庞大的iOS开发团队.
>一些开发人员仍在使用xCode 5,它不能使用iOS 8 API进行编译.
>一些开发人员已经在使用xCode 6.2 Beta 3,它使用xCode 6.1.1中没有的额外WatchKit目标.
>绝大多数开发人员都在使用xCode 6.1.1.
谢谢您的帮助!
解决方法
幸运的是,这是相当直接的.您需要做的就是使用编译器指令,最好是在推送通知中心的头文件中.在条件指令中,您可以使用定义将自己的常量集映射到新集或不建议集,具体取决于xCode支持的最新iOS版本.
#ifdef __IPHONE_8_0
#define RemoteNotificationTypeAlert UIUserNotificationTypeAlert
#define RemoteNotificationTypeBadge UIUserNotificationTypeBadge
#define RemoteNotificationTypeSound UIUserNotificationTypeSound
#define RemoteNotificationTypeNone UIUserNotificationTypeNone
#else
#define RemoteNotificationTypeAlert UIRemoteNotificationTypeAlert
#define RemoteNotificationTypeBadge UIRemoteNotificationTypeBadge
#define RemoteNotificationTypeSound UIRemoteNotificationTypeSound
#define RemoteNotificationTypeNone UIRemoteNotificationTypeNone
#endif