在我的应用中,我想使用iOS 7的新功能:无声远程通知。另外,我必须确保可以在iOS 6中正确安装和运行它。这两个场景是否冲突?
我已经试过了:
#ifdef IOS7_OR_LATER
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void(^)(UIBackgroundFetchResult))completionHandler
{
...
}
#endif
这在iOS 6中有效吗?因为我没有iOS 6设备,所以我希望有经验的人可以给我一些建议。谢谢你提供的所有帮助。^ _ ^
根据最近的Apple Tech Talks,有4种正确的方法可以做到这一点:
使用respondsToSelector
(如果该方法在iOS7中存在,但在iOS6中不存在)
使用&IOS7OnlyConstant != nil
(如果选择器可以被iOS6识别,但不能识别特定的常量)
使用类群集
(对iOS6和iOS7使用私有子类)
使用类别
(重写和重命名常用方法。然后在方法实现中进行区分。)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句