iOS 判斷是否開啟定位
+ (BOOL)isLocationServiceOpen {
if ([ CLLocationManager authorizationStatus] == kCLAuthorizationStatusDenied) {
return NO;
} else
return YES;
}
iOS 判斷是否允許消息通知
+ (BOOL)isMessageNotificationServiceOpen {
if (SYSTEM_VERSION_GREATER_THAN(@"8.0")) {
return [[UIApplication sharedApplication] isRegisteredForRemoteNotifications];
} else {
return UIRemoteNotificationTypeNone != [[UIApplication sharedApplication] enabledRemoteNotificationTypes];
}
}
iOS 跳轉(zhuǎn)系統(tǒng)設(shè)置打開定位頁面
if (SYSTEM_VERSION_GREATER_THAN(@"8.0")) {
NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
if ([[UIApplication sharedApplication] canOpenURL:url]) {
[[UIApplication sharedApplication] openURL:url];
}
} else {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=LOCATION_SERVICES"]];
}
iOS 跳轉(zhuǎn)系統(tǒng)設(shè)置打開消息頁面
if (SYSTEM_VERSION_GREATER_THAN(@"8.0")) {
NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
if ([[UIApplication sharedApplication] canOpenURL:url]) {
[[UIApplication sharedApplication] openURL:url];
}
} else {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=NOTIFICATIONS_ID"]];
}
注:SYSTEM_VERSION_GREATER_THAN 是判斷版本的宏定義
#define SYSTEM_VERSION_GREATER_THAN(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedDescending)