在我的应用中,我想使用iOS 7新功能:静音远程通知。另外,我必须确保它可以在iOS 6中正确安装和运行。这两个场景是否冲突?
我试过这个:
#ifdef IOS7_OR_LATER
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void(^)(UIBackgroundFetchResult))completionHandler
{
...
}
#endif
这适用于iOS 6吗?因为我没有iOS 6设备,所以我希望有经验的人可以给我一些建议。 谢谢你提供的所有帮助。 ^ _ ^
答案 0 :(得分:4)
根据最近的Apple Tech Talks,有4种正确的方法可以做到这一点:
使用respondsToSelector
(如果该方法存在于iOS7中但不存在于iOS6中)
使用&IOS7OnlyConstant != nil
(如果选择器将被iOS6识别,但不是特定的常量)
使用Class Clusters
(对iOS6和iOS7使用私有子类)
使用Categories
(覆盖并重命名常用方法。然后在方法实现中进行区分。)
答案 1 :(得分:1)