123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442 |
- //
- // AppDelegate+SPSBHandleData.m
- // 我的社保
- //
- // Created by shanp on 2021/4/21.
- //
- #import "AppDelegate+SPSBHandleData.h"
- #import "SPSBBusinessManager.h"
- #import "SPSBGeneralManager.h"
- #import <JXHSystemShortcut.h>
- #import "SPSBKeyProfile.h"
- #import "SPSBSQLProfile.h"
- #import <JXHGeneralTools.h>
- #import "SPSBNetworkManager.h"
- #import "SPSBURLApiProfile.h"
- #import "SPSBBaseNetworkModel.h"
- #import "SPSBOpenADManager.h"
- #import "SPSBInfoSteamADManager.h"
- #import "SPSBNotificationDelegateManager.h"
- #import "SPSBAppDifferenceProfile.h"
- #import "SPSBADSwitchModel.h"
- #import "SPSBAppProfileModel.h"
- #import "SPSBConstantProfile.h"
- #import "SPSBOpenPopupManager.h"
- #import "SPSBConfirmAlertViewController.h"
- #import "AppDelegate+SPSBPopup.h"
- #import <objc/runtime.h>
- #import <JXHFMDBManager.h>
- #import "AppDelegate+SPSBAutoLogin.h"
- #import "SPSBUIGeneralHeader.h"
- @implementation AppDelegate (SPSBHandleData)
- - (void)createSQL {
- NSString *orginaPath;
- NSString *targetPath;
- NSFileManager *fileManager = [NSFileManager defaultManager];;
- NSArray *tableNameArray = @[@"shanp_social_insurance", @"shanp_social_insurance_location", @"t_query_city", @"t_transfer_city", @"t_social_Insurance_city", @"t_wait_to_do_data"];
- for (NSInteger i = 0; i < tableNameArray.count; i ++) {
- orginaPath = [[NSBundle mainBundle] pathForResource:tableNameArray[i] ofType:@"db"];
- targetPath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.db", tableNameArray[i]]];
- if ([fileManager fileExistsAtPath:targetPath] == NO)
- {
- NSError *error;
- [fileManager copyItemAtPath:orginaPath toPath:targetPath error:&error];
- }
- }
- }
- - (void)handleCache {
- NSString *city = [jxh_userDefaults() objectForKey:SPSBCheckPublicDataCity];
- if (city != nil) {
- spsb_setLastCheckPublicDataCity(city);
- }
-
- }
- #pragma mark - 版本容错
- static const NSInteger SPSBDeleteIdcareVersion = 17;
- static const NSInteger SPSBChangeQueryCityVersion = 20;//同时删除了购买人缓存
- static const NSInteger SPSBDeleteBadBannerVersion = 24;//删除旧版质量差的图片
- static const NSInteger SPSBChangeQueryCityDataVersion = 27;//替换查询城市数据
- - (void)versionCompatibility {
- if ([[jxh_userDefaults() objectForKey:SPSBAppInsideVersion] integerValue] <= 0) return;
- if ([[jxh_userDefaults() objectForKey:SPSBAppInsideVersion] integerValue] <= SPSBDeleteIdcareVersion) {
- [JXHFMDBManager updateWithPath:SPSBShanpSocialInsuranceLocationSQL condition:^id(FMDatabase *database) {
- bool result1 = [database executeUpdate:@"delete from id_card"];
- bool result2 = [database executeUpdate:@"delete from cache_data where key not in(?)", SPSBqueryCitySQLKey];
- if (!result1 || !result2) {
- return @NO;
- }
- return @YES;
- }];
- }
- if ([[jxh_userDefaults() objectForKey:SPSBAppInsideVersion] integerValue] <= SPSBChangeQueryCityVersion) {
- NSFileManager *fileManager = [NSFileManager defaultManager];;
- NSString *targetPath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:@"t_query_city.db"];
- if ([fileManager fileExistsAtPath:targetPath] == YES) {
- [fileManager removeItemAtPath:targetPath error:nil];
- }
- [JXHFMDBManager updateWithPath:SPSBShanpSocialInsuranceLocationSQL condition:^id(FMDatabase *database) {
- return @([database executeUpdate:@"delete from cache_data where key = ?", SPSBCachePurchasersSQLKey]);
- }];
- [jxh_userDefaults() removeObjectForKey:SPSBQueryCityRefreshTime];
- [jxh_userDefaults() synchronize];
- }
- //删除旧版质量差的图片
- if ([[jxh_userDefaults() objectForKey:SPSBAppInsideVersion] integerValue] < SPSBDeleteBadBannerVersion) {
- jxh_deleteDirInCache(SPSBBarImageList);
- jxh_createDirInCache(SPSBBarImageList);
- }
- //替换查询城市数据
- if ([[jxh_userDefaults() objectForKey:SPSBAppInsideVersion] integerValue] <= SPSBChangeQueryCityDataVersion) {
- NSFileManager *fileManager = [NSFileManager defaultManager];;
- NSString *targetPath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:@"t_query_city.db"];
- if ([fileManager fileExistsAtPath:targetPath] == YES) {
- [fileManager removeItemAtPath:targetPath error:nil];
- }
- [JXHFMDBManager updateWithPath:SPSBShanpSocialInsuranceLocationSQL condition:^id(FMDatabase *database) {
- return @([database executeUpdate:@"delete from cache_data where key = ?", SPSBqueryCitySQLKey]);
- }];
- [jxh_userDefaults() removeObjectForKey:SPSBQueryCityRefreshTime];
- [jxh_userDefaults() synchronize];
- }
- }
- - (void)getADSwitch {
- [spsb_globalNetworkManager() networkUseMethod:SPSBNetworkMethodGET isLogin:false url:spsb_wwwUrl(SPSBUrlADSwitch) urlParameters:nil parameters:nil completion:^(NSError * _Nonnull error, id _Nullable data) {
- if (error.code == SPSBNetworkErrorCodeSuccess) {
- SPSBADSwitchModel *model = [SPSBADSwitchModel getModelWithDictionary:data[@"data"]];
- spsb_openADManager().spsb_switchStatus = model.spsb_ad_onopen.integerValue;
- spsb_infoSteamAdManager().spsb_isShowSteamInfo = model.spsb_ad_news.boolValue;
- spsb_postNotification(SPSBOpenAdNotificationKey, @selector(spsb_gotOpenAdData), spsb_gotOpenAdData);
- }
- spsb_postNotification(SPSBAppStatusNotificationKey, @selector(spsb_gotStreamInfoSwitch), spsb_gotStreamInfoSwitch);
- }];
- }
- - (void)getProfile {
- @weakify(self)
- [spsb_globalNetworkManager() networkUseMethod:SPSBNetworkMethodGET isLogin:false url:spsb_wwwUrl(SPSBUrlGetVersion) urlParameters:nil parameters:@{@"appname": SPSBAppNameForOpen} completion:^(NSError * _Nonnull error, id _Nullable data) {
- if (nil == data[@"data"] || error.code != SPSBNetworkErrorCodeSuccess) return;
- @strongify(self)
- SPSBAppProfileModel *model = [SPSBAppProfileModel getModelWithDictionary:data[@"data"]];
- if (model.spsb_v.spsb_force.boolValue && model.spsb_v.spsb_force_version.integerValue > SPSBCurrentVersion) {
- SPSBConfirmAlertViewController *vc = [SPSBConfirmAlertViewController alertWithTitle:@"有新版本更新" content:model.spsb_v.spsb_desc];
- @weakify(self)
- [vc setCancelButtonTitle:@"关闭应用" titleColor:nil action:^{
- @strongify(self)
- [self exitApplication];
- }];
- [vc setConfirmButtonTitle:@"马上更新" titleColor:nil action:^{
- @strongify(self)
- jxh_openUrl([NSURL URLWithString:SPSBUrlToAppStore], ^(BOOL success) {
- [self exitApplication];
- });
- }];
- SPSBOpenPopupModel *m = SPSBOpenPopupModel.new;
- m.spsb_popup = vc;
- m.spsb_stopPopup = true;
- [SPSBOpenPopupManager insertPopupAtFirst:m];
- return;
- }
- if (model.spsb_v.spsb_version.integerValue > SPSBCurrentVersion) {
- SPSBConfirmAlertViewController *vc = [SPSBConfirmAlertViewController alertWithTitle:@"有新版本更新" content:model.spsb_v.spsb_desc];
- [vc setCancelButtonTitle:@"暂不更新" titleColor:nil action:^{
- }];
- [vc setConfirmButtonTitle:@"马上更新" titleColor:nil action:^{
- jxh_openUrl([NSURL URLWithString:SPSBUrlToAppStore], ^(BOOL success) {
- });
- }];
- SPSBOpenPopupModel *m = SPSBOpenPopupModel.new;
- m.spsb_popup = vc;
- [SPSBOpenPopupManager insertPopup:m];
- }
- if (model.spsb_pop_img.spsb_img.length > 0) {
- [self judgeAdPopup:model.spsb_pop_img];
- }
- if (model.spsb_tel.length > 0) {
- [jxh_userDefaults() setObject:model.spsb_tel forKey:SPSBCustomerServicePhone];
- [jxh_userDefaults() synchronize];
- }
- spsb_setHomeViewButtons(model.spsb_entranceFlag);
- spsb_postNotification(SPSBAppStatusNotificationKey, @selector(spsb_appNeedRefreshHomeViewButtons), spsb_appNeedRefreshHomeViewButtons);
- spsb_postNotification(SPSBAppStatusNotificationKey, @selector(spsb_appNeedRefreshBannerImages:actions:), spsb_appNeedRefreshBannerImages:model.spsb_barList actions:model.spsb_uriList);
- spsb_setAdsArray(model.spsb_ads);
- spsb_postNotification(SPSBAppStatusNotificationKey, @selector(spsb_appNeedRefreshHomeViewAds), spsb_appNeedRefreshHomeViewAds);
- spsb_setPolicyArray(model.spsb_index_policy);
- spsb_postNotification(SPSBAppStatusNotificationKey, @selector(spsb_appNeedRefreshHomeViewPolicy), spsb_appNeedRefreshHomeViewPolicy);
- if (![jxh_userDefaults() objectForKey:SPSBCityRefreshTime] || [[jxh_userDefaults() objectForKey:SPSBCityRefreshTime] integerValue] != model.spsb_city.integerValue) {
- self.tempCityRefreshTime = model.spsb_city;
- [self getCityList];
-
- }
- if (![jxh_userDefaults() objectForKey:SPSBQueryCityRefreshTime] || [[jxh_userDefaults() objectForKey:SPSBQueryCityRefreshTime] integerValue] != model.spsb_query.integerValue) {
- self.tempQueryCityRefreshTime = model.spsb_query;
- [self getQueryCityList];
- }
- if (![jxh_userDefaults() objectForKey:SPSBTransferCityRefreshTime] || [[jxh_userDefaults() objectForKey:SPSBTransferCityRefreshTime] integerValue] != model.spsb_move_city.integerValue) {
- self.tempTransferCityRefreshTime = model.spsb_move_city;
- [self getTransferCityList];
- }
- if (model.spsb_wxpay_limit.length > 0) {
- spsb_setWxpayLimit(model.spsb_wxpay_limit.integerValue);
- }
- }];
- }
- #pragma mark - 获取城市列表
- - (void)getCityList {
- @weakify(self)
- [spsb_globalNetworkManager() networkUseMethod:SPSBNetworkMethodGET isLogin:false url:spsb_appUrl(SPSBUrlGetCityList) urlParameters:nil parameters:nil completion:^(NSError * _Nonnull error, id _Nullable data) {
- if (error.code == SPSBNetworkErrorCodeSuccess && [data[@"data"] isKindOfClass:[NSArray class]]) {
- @strongify(self)
- [self handleCityWithArray:data[@"data"]];
- }
- }];
- }
- - (void)handleCityWithArray:(NSArray *)array {
- dispatch_async(dispatch_get_global_queue(0, 0), ^{
- NSString *sqlStr = [self appendSqlStrWithArray:array];
- dispatch_async(dispatch_get_main_queue(), ^{
- [JXHFMDBManager updateWithPath:SPSBShanpSocialInsuranceSQL condition:^id(FMDatabase *database) {
- return @([database executeUpdate:@"delete from t_sp_city"]);
- }];
- [JXHFMDBManager updateWithPath:SPSBShanpSocialInsuranceSQL condition:^id(FMDatabase *database) {
- return @([database executeUpdate:sqlStr]);
- }];
- [jxh_userDefaults() setObject:self.tempCityRefreshTime forKey:SPSBCityRefreshTime];
- [jxh_userDefaults() synchronize];
- });
- });
- }
- - (NSString *)appendSqlStrWithArray:(NSArray *)array {
- NSMutableString *sqlStr = [NSMutableString stringWithString:@"insert into t_sp_city (id, parent_id, name, is_city) values"];
- for (NSInteger i = 0; i < array.count; i ++) {
- [sqlStr appendFormat:@"('%@', '%@', '%@', '%@'),", array[i][@"id"], array[i][@"pid"], array[i][@"name"], array[i][@"isCity"]];
- if (i == array.count - 1) {
- [sqlStr replaceCharactersInRange:NSMakeRange(sqlStr.length - 1, 1) withString:@""];
- }
- }
- return sqlStr;
- }
- #pragma mark - 获取查询城市列表
- - (void)getQueryCityList {
- @weakify(self)
- [spsb_globalNetworkManager() networkUseMethod:SPSBNetworkMethodGET isLogin:false url:spsb_appUrl(SPSBUrlGetQueryCityList) urlParameters:nil parameters:nil completion:^(NSError * _Nonnull error, id _Nullable data) {
- if (error.code == SPSBNetworkErrorCodeSuccess && [data[@"data"] isKindOfClass:[NSArray class]]) {
- @strongify(self)
- [self handleQueryCityWithArray:data[@"data"]];
- }
- }];
- }
- - (void)handleQueryCityWithArray:(NSArray *)array {
- dispatch_async(dispatch_get_global_queue(0, 0), ^{
- NSMutableString *sqlStr = [NSMutableString stringWithString:@"insert into t_sp_query_city (cid, city_name, shebao_url, shebao_wx, shebao_tel, fund_url, fund_wx, fund_tel, pinyin, pinyin_abbreviation) values"];
- NSMutableArray *keyArray = [@[@"热"] mutableCopy];
- NSMutableArray<NSMutableDictionary *> *idArray = [@[@{@"热" : [@[] mutableCopy]}] mutableCopy];
- NSMutableArray<NSMutableDictionary *> *dataArray = [@[@{@"热" : [@[] mutableCopy]}] mutableCopy];
- NSMutableDictionary<NSString *, NSMutableArray *> *data = [@{} mutableCopy];
- NSMutableDictionary<NSString *, NSMutableArray *> *idData = [@{} mutableCopy];
- for (NSInteger i = 0; i < array.count; i ++) {
- SPSBBaseNetworkModel *baseModel = SPSBBaseNetworkModel.new;
- NSString *name = [baseModel getStringDataWithDictionary:array[i] variable:@"city_name"];
- NSString *cid = [baseModel getStringDataWithDictionary:array[i] variable:@"cid"];
- if (name.length == 0 || cid.length == 0) {
- continue;
- }
- NSMutableString *namePinyin = [name mutableCopy];
- CFStringTransform((__bridge CFMutableStringRef)namePinyin, 0, kCFStringTransformMandarinLatin, NO);
- CFStringTransform((__bridge CFMutableStringRef)namePinyin, 0, kCFStringTransformStripDiacritics, NO);
- NSString *key = [[namePinyin substringWithRange:NSMakeRange(0, 1)] uppercaseString];
- if (!data[key]) {
- data[key] = [@[] mutableCopy];
- idData[key] = [@[] mutableCopy];
- }
- [data[key] addObject:name];
- [idData[key] addObject:cid];
- if (array[i][@"hot"] && [array[i][@"hot"] boolValue]) {
- [dataArray[0][@"热"] addObject:name];
- [idArray[0][@"热"] addObject:cid];
- }
- //
- NSArray *pinyinArray = [namePinyin componentsSeparatedByString:@" "];
- NSMutableString *pinyinAbbreviation = [@"" mutableCopy];
- for (NSInteger i = 0; i < pinyinArray.count; i ++) {
- [pinyinAbbreviation appendString:[pinyinArray[i] substringWithRange:NSMakeRange(0, 1)]];
- }
- [sqlStr appendFormat:@"('%@', '%@', '%@', '%@', '%@', '%@', '%@', '%@', '%@', '%@'),",
- cid,
- name,
- [baseModel getStringDataWithDictionary:array[i] variable:@"shebao_site"],
- [baseModel getStringDataWithDictionary:array[i] variable:@"shebao_wx"],
- [baseModel getStringDataWithDictionary:array[i] variable:@"shebao_tel"],
- [baseModel getStringDataWithDictionary:array[i] variable:@"fund_site"],
- [baseModel getStringDataWithDictionary:array[i] variable:@"fund_wx"],
- [baseModel getStringDataWithDictionary:array[i] variable:@"fund_tel"],
- [namePinyin stringByReplacingOccurrencesOfString:@" " withString:@""],
- pinyinAbbreviation];
- }
- [sqlStr replaceCharactersInRange:NSMakeRange(sqlStr.length - 1, 1) withString:@""];
- for (int i = 0; i < 26; i ++) {
- NSString *str = [NSString stringWithFormat:@"%c",65 + i];
- if (data[str]) {
- [keyArray addObject:str];
- [dataArray addObject:[@{str : data[str]} mutableCopy]];
- [idArray addObject:[@{str: idData[str]} mutableCopy]];
- }
- }
- dispatch_async(dispatch_get_main_queue(), ^{
- [JXHFMDBManager updateWithPath:SPSBShanpSocialInsuranceLocationSQL condition:^id(FMDatabase *database) {
- return @([database executeUpdate:@"delete from cache_data where key = ?", SPSBqueryCitySQLKey]);
- }];
- NSData *archiverData = jxh_archiver(@{@"data" : dataArray, @"key" : keyArray, @"id": idArray}, SPSBqueryCitySQLKey);
- [JXHFMDBManager updateWithPath:SPSBShanpSocialInsuranceLocationSQL condition:^id(FMDatabase *database) {
- return @([database executeUpdate:@"insert into cache_data (key, data) values (?, ?)", SPSBqueryCitySQLKey, archiverData]);
- }];
- [JXHFMDBManager updateWithPath:SPSBShanpQueryCitySQL condition:^id(FMDatabase *database) {
- return @([database executeUpdate:@"delete from t_sp_query_city"]);
- }];
- [JXHFMDBManager updateWithPath:SPSBShanpQueryCitySQL condition:^id(FMDatabase *database) {
- return @([database executeUpdate:sqlStr]);
- }];
- [jxh_userDefaults() setObject:self.tempQueryCityRefreshTime forKey:SPSBQueryCityRefreshTime];
- [jxh_userDefaults() synchronize];
- });
- });
- }
- #pragma mark - 获取转移城市列表
- - (void)getTransferCityList {
- @weakify(self)
- [spsb_globalNetworkManager() networkUseMethod:SPSBNetworkMethodPOST isLogin:false url:spsb_appUrl(SPSBUrlGetTransferCity) urlParameters:nil parameters:nil completion:^(NSError * _Nonnull error, id _Nullable data) {
- if (error.code == SPSBNetworkErrorCodeSuccess && [data[@"data"] isKindOfClass:[NSArray class]]) {
- @strongify(self)
- [self handleTransferCityWithArray:data[@"data"]];
- }
- }];
- }
- - (void)handleTransferCityWithArray:(NSArray *)array {
- dispatch_async(dispatch_get_global_queue(0, 0), ^{
- NSString *sqlStr = [self appendSqlStrWithArray:array];
- dispatch_async(dispatch_get_main_queue(), ^{
- [JXHFMDBManager updateWithPath:SPSBShanpTransferCitySQL condition:^id(FMDatabase *database) {
- return @([database executeUpdate:@"delete from t_sp_city"]);
- }];
- [JXHFMDBManager updateWithPath:SPSBShanpTransferCitySQL condition:^id(FMDatabase *database) {
- return @([database executeUpdate:sqlStr]);
- }];
- [jxh_userDefaults() setObject:self.tempTransferCityRefreshTime forKey:SPSBTransferCityRefreshTime];
- [jxh_userDefaults() synchronize];
- });
- });
- }
- #pragma mark - 上报设备
- - (void)updateDevice {
- @weakify(self)
- [spsb_globalNetworkManager() networkUseMethod:SPSBNetworkMethodPOST isLogin:false url:spsb_appUrl(SPSBUrlPostDevice) urlParameters:nil parameters:@{@"key": spsb_loginToken(), @"phoneFlag": spsb_getUniquenessString(), @"appPlatform": SPSBAppPlatform} completion:^(NSError * _Nonnull error, id _Nullable data) {
- @strongify(self)
- if (error.code == SPSBNetworkErrorCodeSuccess) {
- [self updatedDevice];
- }
- }];
- }
- #pragma mark - 查询补差额订单
- - (void)checkPriceDifferencePaymentNotPayOrders {
- @weakify(self)
- [spsb_globalNetworkManager() networkUseMethod:SPSBNetworkMethodPOST isLogin:true url:spsb_appUrl(SPSBUrlQueryPriceDifferencePaymentNotPayOrders) urlParameters:nil parameters:nil completion:^(NSError * _Nonnull error, id _Nullable data) {
- if (error.code == SPSBNetworkErrorCodeSuccess && [data[@"data"] isKindOfClass:[NSArray class]]) {
- @strongify(self)
- [self handleCheckPriceDifferencePaymentNotPayOrdersData:data];
- }
- }];
- }
- - (void)handleCheckPriceDifferencePaymentNotPayOrdersData:(id)data {
- if ([data[@"data"] integerValue] > 0) {
- UIView *tipsView = UIView.new;
- [tipsView setLayerCornerRadius:10 clipToBounds:false];
- tipsView.backgroundColor = [UIColor colorWithWhite:0.0 alpha:0.75];
- [spsb_keyWindow() addSubview:tipsView];
- [tipsView makeConstraints:^(JXHConstraintMaker *make) {
- make.width.greaterThanOrEqualTo(110);
- make.width.lessThanOrEqualTo(215);
- make.height.equalTo(110);
- make.centerY.equalTo(-64 / 2);
- make.centerX.equalTo(0);
- }];
-
- UIImageView *imageView = [[UIImageView alloc] initWithImage:jxh_getImage(alarm)];
- [tipsView addSubview:imageView];
- [imageView makeConstraints:^(JXHConstraintMaker *make) {
- make.top.equalTo(15);
- make.centerX.equalTo(0);
- make.size.equalTo(CGSizeMake(40, 40));
- }];
- //
- UILabel *titleLabel = [UILabel convenienceWithFont:spsb_font(15) text:@"你还有未缴的补差额订单" textColor:spsb_FFFFFF_color(1.f) textAlignment:NSTextAlignmentCenter];
- [tipsView addSubview:titleLabel];
- [titleLabel makeConstraints:^(JXHConstraintMaker *make) {
- make.top.equalTo(imageView.bottom).offset(10);
- make.leading.equalTo(10);
- make.trailing.equalTo(-10);
- make.height.greaterThanOrEqualTo(30);
- make.bottom.lessThanOrEqualTo(-10);
- }];
- [UIView animateWithDuration:3 animations:^{
- tipsView.alpha = 0;
- } completion:^(BOOL finished) {
- [tipsView removeFromSuperview];
- }];
- }
- }
- - (void)exitApplication {
- UIWindow *window = spsb_keyWindow();
-
- [UIView animateWithDuration:1.0f animations:^{
- window.alpha = 0;
- window.frame = CGRectMake(0, window.bounds.size.width, 0, 0);
- } completion:^(BOOL finished) {
- exit(0);
- }];
- }
- - (void)setTempTransferCityRefreshTime:(NSString *)tempTransferCityRefreshTime {
- objc_setAssociatedObject(self, _cmd, tempTransferCityRefreshTime, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
- }
- - (NSString *)tempTransferCityRefreshTime {
- NSString *object = objc_getAssociatedObject(self, @selector(setTempTransferCityRefreshTime:));
- return object;
- }
- - (void)setTempCityRefreshTime:(NSString *)tempCityRefreshTime {
- objc_setAssociatedObject(self, _cmd, tempCityRefreshTime, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
- }
- - (NSString *)tempCityRefreshTime {
- NSString *object = objc_getAssociatedObject(self, @selector(setTempCityRefreshTime:));
- return object;
- }
- - (void)setTempQueryCityRefreshTime:(NSString *)tempQueryCityRefreshTime {
- objc_setAssociatedObject(self, _cmd, tempQueryCityRefreshTime, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
- }
- - (NSString *)tempQueryCityRefreshTime {
- NSString *object = objc_getAssociatedObject(self, @selector(setTempQueryCityRefreshTime:));
- return object;
- }
- @end
|