//
|
// EZLocationAlertVCViewController.m
|
// EZOpenSDKDemo
|
//
|
// Created by yuqian on 2019/9/19.
|
// Copyright © 2019 Ezviz. All rights reserved.
|
//
|
|
#import "EZLocationAlertVCViewController.h"
|
#import <CoreLocation/CoreLocation.h>
|
#import "EZWifiInfoViewController.h"
|
#import "Masonry.h"
|
|
|
@interface EZLocationAlertVCViewController ()<CLLocationManagerDelegate>
|
|
@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
|