对不起,如果这看起来像个愚蠢的问题:
我有正在为iOS8构建的phonegap应用程序,唯一的问题是iOS8弃用了一些Pus Notifications的代码,所以在iOS8中我已经让它们工作但是我用它来工作的代码在iOS7中不起作用,我试图让它为两者工作。我使用if else语句检查版本是否正常,但问题是,即使if else只触发正确版本的代码,但在iOS7我的应用程序将无法正确编译,因为它看到不存在的新代码iOS7 SDK,有什么方法可以让我的工作吗?就像你如何在HTML中为特定的浏览器版本做分数评论一样?
这就是我所拥有的,因为你看它只是一个if else语句,但显然它不适用于iOS7 SDK,因为SDK不知道初始(if)中的代码是什么,因为它在iOS8中是新的
NSArray *vComp = [[UIDevice currentDevice].systemVersion componentsSeparatedByString:@"."];
if ([[vComp objectAtIndex:0] intValue] >= 8) {
/// First register notification setting with settings type like
[[UIApplication sharedApplication] registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:(UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge) categories:nil]];
[[UIApplication sharedApplication] registerForRemoteNotifications]; // you can also set here for local notification.
} else if ([[vComp objectAtIndex:0] intValue] < 8) {
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:notificationTypes];
}
答案 0 :(得分:1)
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 80000
//Put your iOS 8 code here
#else
// Put iOS 7 and below here
#endif