0
很抱歉,如果這似乎是一個愚蠢的問題:條件註釋標籤
我有我目前正在建設的iOS8上PhoneGap的應用程序,唯一的問題是,iOS8上棄用了膿通知一些代碼,所以在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];
}
請發表您的嘗試。提示:目標C幾乎是C的超集,包括像#ifdef這樣的預處理指令。 – danh