// // EZLocationAlertVCViewController.m // EZOpenSDKDemo // // Created by yuqian on 2019/9/19. // Copyright © 2019 Ezviz. All rights reserved. // #import "EZLocationAlertVCViewController.h" #import #import "EZWifiInfoViewController.h" #import "Masonry.h" @interface EZLocationAlertVCViewController () @property (nonatomic, strong) IBOutlet UIImageView *imageView; @property (nonatomic, strong) IBOutlet UILabel *connectLabel; @property (nonatomic, strong) IBOutlet UIButton *btn; @property (nonatomic, strong) IBOutlet UIButton *exceptionButton; @property (nonatomic, strong) CLLocationManager *locationmanager; @end @implementation EZLocationAlertVCViewController - (void)viewDidLoad { [super viewDidLoad]; [self setupUI]; [self layoutSubView]; if ([CLLocationManager authorizationStatus] == kCLAuthorizationStatusNotDetermined) { _locationmanager = [[CLLocationManager alloc]init]; _locationmanager.delegate = self; [_locationmanager requestWhenInUseAuthorization]; } } - (void) viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(appDidBecomeActive) name:UIApplicationWillEnterForegroundNotification object:nil]; } - (void) viewDidDisappear:(BOOL)animated { [super viewDidDisappear:animated]; [[NSNotificationCenter defaultCenter] removeObserver:self]; } - (void)onClick { NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString]; if([[UIApplication sharedApplication] canOpenURL:url]) { //TODO:版本适配 [[UIApplication sharedApplication] openURL:url]; } } - (void)appDidBecomeActive { if ([CLLocationManager authorizationStatus] != kCLAuthorizationStatusDenied && [CLLocationManager authorizationStatus] != kCLAuthorizationStatusRestricted) { [self performSegueWithIdentifier:@"go2WifiInfo" sender:nil]; } } - (void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status { if (status == kCLAuthorizationStatusAuthorizedWhenInUse || status == kCLAuthorizationStatusAuthorizedAlways) { [self performSegueWithIdentifier:@"go2WifiInfo" sender:nil]; } } - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { if ([[segue destinationViewController] isKindOfClass:[EZWifiInfoViewController class]]) { EZWifiInfoViewController *vc = (EZWifiInfoViewController *)[segue destinationViewController]; vc.supportApMode = self.supportApMode; vc.supportSmartMode = self.supportSmartMode; vc.supportSoundMode = self.supportSoundMode; } } - (void)exceptionButtonClicked:(id)sender { [self.navigationController popViewControllerAnimated:YES]; } - (void) setupUI { self.title = NSLocalizedString(@"请开启定位服务", ); _imageView.image = [UIImage imageNamed:@"icn_location"]; _imageView.contentMode = UIViewContentModeScaleToFill; _connectLabel.text = NSLocalizedString(@"定位服务未开启,请进入系统[设置]> [隐私] > [定位服务]中打开开关,并允许使用定位服务",); _connectLabel.numberOfLines = 0; _connectLabel.textColor = [UIColor blackColor]; _connectLabel.textAlignment = NSTextAlignmentCenter; _connectLabel.font = [UIFont systemFontOfSize:13.0]; [_btn setTitle:NSLocalizedString(@"立即开启",) forState:UIControlStateNormal]; [_btn setTintColor:[UIColor whiteColor]]; [_btn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; [_btn.titleLabel setFont:[UIFont systemFontOfSize:13.0f]]; [_btn addTarget:self action:@selector(onClick) forControlEvents:UIControlEventTouchUpInside]; _btn.backgroundColor = [UIColor orangeColor]; _btn.layer.cornerRadius = 22; _btn.clipsToBounds = YES; [_exceptionButton addTarget:self action:@selector(exceptionButtonClicked:) forControlEvents:UIControlEventTouchUpInside]; UILabel *label = [[UILabel alloc] init]; label.textAlignment = NSTextAlignmentCenter; label.numberOfLines = 2; [_exceptionButton addSubview:label]; [label mas_makeConstraints:^(MASConstraintMaker *make) { make.edges.equalTo(_exceptionButton); }]; NSMutableAttributedString *attributeStr = [[NSMutableAttributedString alloc] initWithString:NSLocalizedString(@"暂不",)]; [attributeStr addAttribute:NSForegroundColorAttributeName value:[UIColor orangeColor] range:NSMakeRange(0, attributeStr.length)]; [attributeStr addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:15.f] range:NSMakeRange(0, attributeStr.length)]; [attributeStr addAttribute:NSUnderlineStyleAttributeName value:[NSNumber numberWithInteger:NSUnderlineStyleSingle] range:NSMakeRange(0, attributeStr.length)]; label.attributedText = attributeStr; } - (void)layoutSubView { [_imageView mas_makeConstraints:^(MASConstraintMaker *make) { make.centerX.equalTo(self.view); make.top.equalTo(self.view).offset(100); }]; [_connectLabel mas_makeConstraints:^(MASConstraintMaker *make) { make.centerX.equalTo(self.view); make.top.equalTo(_imageView.mas_bottom).offset(50); make.width.mas_equalTo([UIScreen mainScreen].bounds.size.width-40); }]; [_btn mas_makeConstraints:^(MASConstraintMaker *make) { make.centerX.equalTo(self.view); make.top.equalTo(_connectLabel.mas_bottom).offset(40); make.width.mas_equalTo([UIScreen mainScreen].bounds.size.width-40); make.height.mas_equalTo(44); }]; [_exceptionButton mas_makeConstraints:^(MASConstraintMaker *make) { make.centerX.equalTo(self.view); make.top.equalTo(_btn.mas_bottom).offset(15); }]; } @end