// // AppDelegate.m // HDLEZDemo // // Created by 陈启扬 on 2023/3/2. // #import "AppDelegate.h" #import "EZSDK.h" #import @interface AppDelegate () @property (nonatomic, strong) CLLocationManager *locationmanager; @end @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // //设置window // self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; // Override point for customization after application launch. [[EZSDK sharedInstance] initLibWithAppKey:@"1aa98a90489b4838b966b57018b4b04b" globalAppKey:@"1aa98a90489b4838b966b57018b4b04b"]; // [[EZSDK sharedInstance] initLibWithAppKey:@"941b1b72b6294998acfd36c14931b675" globalAppKey:@"941b1b72b6294998acfd36c14931b675"]; [[EZSDK sharedInstance] setHDlAccessToken:@"Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJqdGkiOiI3NTg3ZTRhNDI4YzA0NjZhOWI1MmE5ZjM0NzA1MWZkNSIsImNvbXBhbnlJZCI6IjAiLCJyb2xlIjoiIiwiaGVhZGVyUHJlZml4IjoiQmVhcmVyICIsInVzZXJBY2NvdW50IjoiMTU3NTc4NzA5OTciLCJ0ZW5hbnRJZCI6IjIwIiwidXNlclR5cGUiOiJVU0VSX0MiLCJ0b2tlblR5cGUiOiJhY2Nlc3NfdG9rZW4iLCJ1c2VyTmFtZSI6IuaMquWogeeahOajruael-S4jeaEv-aEj-mAj-mcsuWnk-WQjeeahOeUqOaItyIsInVzZXJEYXRhUmlnaHQiOiIxIiwib3BlbkFwcGxpY2F0aW9uSWQiOiIwIiwidXNlcklkIjoiMTQwODI0MzI3MTc0MjM4NjE3NyIsImV4cCI6MTczNDQ5NDg2MCwibmJmIjoxNzM0NDg3NjYwfQ.ZJgdJmRy3ZQPiyj26LI7gf-ggbWLnslmWyyeKd-Y8LK1jqNtzmRYTNJttmXYMeO5mPkHRI07XXiCGwR7Tk86myMs-EpxvcHhLPBVtjwGP4xzC97ccEUzplWFIjOCTH0wLE2nE6Zh33-vbdGbizLSabYMAjiZmT39ml9tVowjDTI" refreshToken:@"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJqdGkiOiJmNmYxYzU1Y2VhNjg0YTgxYmViYzFkMzdiZTdkZTFiOSIsImNvbXBhbnlJZCI6IjAiLCJoZWFkZXJQcmVmaXgiOiJCZWFyZXIgIiwidGVuYW50SWQiOiIyMCIsInRva2VuVHlwZSI6InJlZnJlc2hfdG9rZW4iLCJvcGVuQXBwbGljYXRpb25JZCI6IjAiLCJ1c2VySWQiOiIxNDA4MjQzMjcxNzQyMzg2MTc3IiwiZXhwIjoxNzM1MDkyNDYwLCJuYmYiOjE3MzQ0ODc2NjB9.W_9dzh8Do8Oi38KpxrlM5B9EJlGHK8_AuJDeK_ES_Mtb0mFjqh4jl63rKtnAjMy9HX45g3xv0bx9FwLOHk4F5kVT1LmU3Wd2TcZEYl-DzLzdAHz7N9FRmoO9kCwTmXmohf7lWnR1-P7IHFVKqzAzvzVaDtUPUKngjxrTnDOvyRw"]; [[EZSDK sharedInstance] setRequestHttpsHostAndPlatform:@"https://test-gz.hdlcontrol.com" platform:1 homeId:@"1641265620778082306"]; // [[EZSDK sharedInstance] setRequestHttpsHostAndPlatform:@"https://nearest.hdlcontrol.com" platform:1 homeId:@"1546324800135176193"]; [[EZSDK sharedInstance] setEZAccessToken:@"at.3q2ijwy72ne0d6nq0qwwxie5bvn4q3mh-83a3uo2h6v-010ytzk-9tezv7rzn"]; // [[EZSDK sharedInstance] setEZAccessToken:@"ra.3hkirwcadrpfmaa89wep99io3wto4yds-7zptb10d20-1wxg4f3-ygiojudee"]; //定位权限 _locationmanager = [[CLLocationManager alloc]init]; _locationmanager.delegate = self; [_locationmanager requestWhenInUseAuthorization]; [_locationmanager startUpdatingLocation]; NSLog(@"#######-EZhdlAccessToken:%@", [[NSUserDefaults standardUserDefaults] objectForKey:@"EZhdlAccessToken"]); NSLog(@"#######-EZhdlRefreshToken:%@", [[NSUserDefaults standardUserDefaults] objectForKey:@"EZhdlRefreshToken"]); return YES; } - (void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status { // if (status == kCLAuthorizationStatusAuthorizedWhenInUse || status == kCLAuthorizationStatusAuthorizedAlways) { // [self performSegueWithIdentifier:@"go2WifiInfo" sender:nil]; // } } -(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations{ [_locationmanager stopUpdatingLocation]; } #pragma mark - UISceneSession lifecycle //- (UISceneConfiguration *)application:(UIApplication *)application configurationForConnectingSceneSession:(UISceneSession *)connectingSceneSession options:(UISceneConnectionOptions *)options { // // Called when a new scene session is being created. // // Use this method to select a configuration to create the new scene with. // return [[UISceneConfiguration alloc] initWithName:@"Default Configuration" sessionRole:connectingSceneSession.role]; //} // // //- (void)application:(UIApplication *)application didDiscardSceneSessions:(NSSet *)sceneSessions { // // Called when the user discards a scene session. // // If any sessions were discarded while the application was not running, this will be called shortly after application:didFinishLaunchingWithOptions. // // Use this method to release any resources that were specific to the discarded scenes, as they will not return. //} #pragma mark - Core Data stack @synthesize persistentContainer = _persistentContainer; - (NSPersistentContainer *)persistentContainer { // The persistent container for the application. This implementation creates and returns a container, having loaded the store for the application to it. @synchronized (self) { if (_persistentContainer == nil) { _persistentContainer = [[NSPersistentContainer alloc] initWithName:@"HDLEZDemo"]; [_persistentContainer loadPersistentStoresWithCompletionHandler:^(NSPersistentStoreDescription *storeDescription, NSError *error) { if (error != nil) { // Replace this implementation with code to handle the error appropriately. // abort() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development. /* Typical reasons for an error here include: * The parent directory does not exist, cannot be created, or disallows writing. * The persistent store is not accessible, due to permissions or data protection when the device is locked. * The device is out of space. * The store could not be migrated to the current model version. Check the error message to determine what the actual problem was. */ NSLog(@"Unresolved error %@, %@", error, error.userInfo); abort(); } }]; } } return _persistentContainer; } #pragma mark - Core Data Saving support - (void)saveContext { NSManagedObjectContext *context = self.persistentContainer.viewContext; NSError *error = nil; if ([context hasChanges] && ![context save:&error]) { // Replace this implementation with code to handle the error appropriately. // abort() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development. NSLog(@"Unresolved error %@, %@", error, error.userInfo); abort(); } } @end