...
|
...
|
@@ -72,8 +72,6 @@ static dispatch_queue_t persisting_queue() { |
|
|
@property (strong, nonatomic) NSMutableArray *tempPerformanceArray;
|
|
|
|
|
|
|
|
|
// 开启网络状态监测
|
|
|
- (void)startObserverNetworkReachabilityStatus;
|
|
|
// 将一个事件写入到文件
|
|
|
- (BOOL)writeEventToFile:(YHEvent *)eventData;
|
|
|
|
...
|
...
|
@@ -118,6 +116,10 @@ static dispatch_queue_t persisting_queue() { |
|
|
self.currentStatus = [[YHStatus alloc]init];
|
|
|
self.immediUploadItemDic = [[NSMutableDictionary alloc]initWithCapacity:4];
|
|
|
self.lockLogFile = NO;
|
|
|
|
|
|
[[NSNotificationCenter defaultCenter] addObserver:self
|
|
|
selector:@selector(handleNetworkReachabilityStatusChanged:) name:AFNetworkingReachabilityDidChangeNotification
|
|
|
object:nil];
|
|
|
}
|
|
|
|
|
|
return self;
|
...
|
...
|
@@ -129,6 +131,8 @@ static dispatch_queue_t persisting_queue() { |
|
|
self.device = nil;
|
|
|
self.currentStatus = nil;
|
|
|
self.immediUploadItemDic = nil;
|
|
|
|
|
|
[[NSNotificationCenter defaultCenter] removeObserver:self];
|
|
|
}
|
|
|
|
|
|
#pragma mark - Property
|
...
|
...
|
@@ -210,9 +214,6 @@ static dispatch_queue_t persisting_queue() { |
|
|
// 设置status
|
|
|
[self.immediUploadItemDic setObject: [[NSMutableArray alloc]initWithObjects:self.currentStatus.jsonDictionary, nil] forKey:JsonKeyDataTypeStatus];
|
|
|
}
|
|
|
|
|
|
[self startObserverNetworkReachabilityStatus];
|
|
|
|
|
|
}
|
|
|
|
|
|
- (void)uploadFirstLaunchApp
|
...
|
...
|
@@ -470,9 +471,12 @@ static dispatch_queue_t persisting_queue() { |
|
|
|
|
|
#pragma mark - private method
|
|
|
|
|
|
// 添加网络监测回调block
|
|
|
- (void)startObserverNetworkReachabilityStatus
|
|
|
|
|
|
- (void)handleNetworkReachabilityStatusChanged:(NSNotification *)notification
|
|
|
{
|
|
|
AFNetworkReachabilityStatus status = [[notification.userInfo objectForKey:AFNetworkingReachabilityNotificationStatusItem] integerValue];
|
|
|
YALog(@"%@", AFStringFromNetworkReachabilityStatus(status));
|
|
|
|
|
|
/**
|
|
|
CTRadioAccessTechnologyGPRS - 2G
|
|
|
CTRadioAccessTechnologyEdge - 2G (sometimes called 2.5G)
|
...
|
...
|
@@ -486,47 +490,48 @@ static dispatch_queue_t persisting_queue() { |
|
|
CTRadioAccessTechnologyeHRPD - 3G (or 3.5 - eHRPD is to allow migration from CDMA EVDO to LTE)
|
|
|
CTRadioAccessTechnologyLTE - 4G (allowed to be called 4G by the ITU as mentioend above)
|
|
|
*/
|
|
|
NSString *net = kNetWorkStatusUnknow;
|
|
|
|
|
|
[[YHNetworkService sharedInstance] setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
|
|
|
NSString *net = kNetWorkStatusUnknow;
|
|
|
|
|
|
CTTelephonyNetworkInfo *netInfo = [[CTTelephonyNetworkInfo alloc] init];
|
|
|
switch (status) {
|
|
|
case AFNetworkReachabilityStatusUnknown:
|
|
|
case AFNetworkReachabilityStatusNotReachable:
|
|
|
net = kNetWorkStatusUnknow;
|
|
|
break;
|
|
|
|
|
|
case AFNetworkReachabilityStatusReachableViaWWAN:
|
|
|
{
|
|
|
if (([[[UIDevice currentDevice] systemVersion] compare:@"7.0" options:NSNumericSearch] != NSOrderedAscending)) {
|
|
|
if ([netInfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyGPRS]|| [netInfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyEdge]) {
|
|
|
net = kNetWorkStatus2G;
|
|
|
} else if([netInfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyWCDMA]|| [netInfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyHSDPA] || [netInfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyHSUPA]|| [netInfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyeHRPD]) {
|
|
|
net = kNetWorkStatus3G;
|
|
|
} else if([netInfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyLTE]) {
|
|
|
net = kNetWorkStatus4G;
|
|
|
} else {
|
|
|
net = kNetWorkStatusUnknow;
|
|
|
}
|
|
|
CTTelephonyNetworkInfo *netInfo = [[CTTelephonyNetworkInfo alloc] init];
|
|
|
switch (status) {
|
|
|
case AFNetworkReachabilityStatusUnknown:
|
|
|
case AFNetworkReachabilityStatusNotReachable:
|
|
|
net = kNetWorkStatusUnknow;
|
|
|
break;
|
|
|
|
|
|
case AFNetworkReachabilityStatusReachableViaWWAN:
|
|
|
{
|
|
|
if (([[[UIDevice currentDevice] systemVersion] compare:@"7.0" options:NSNumericSearch] != NSOrderedAscending)) {
|
|
|
if ([netInfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyGPRS]
|
|
|
|| [netInfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyEdge]) {
|
|
|
net = kNetWorkStatus2G;
|
|
|
} else if([netInfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyWCDMA]
|
|
|
|| [netInfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyHSDPA]
|
|
|
|| [netInfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyHSUPA]
|
|
|
|| [netInfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyeHRPD]) {
|
|
|
net = kNetWorkStatus3G;
|
|
|
} else if([netInfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyLTE]) {
|
|
|
net = kNetWorkStatus4G;
|
|
|
} else {
|
|
|
net = kNetWorkStatusUnknow;
|
|
|
}
|
|
|
} else {
|
|
|
net = kNetWorkStatusUnknow;
|
|
|
}
|
|
|
break;
|
|
|
case AFNetworkReachabilityStatusReachableViaWiFi:
|
|
|
net = kNetWorkStatusWIFI;
|
|
|
break;
|
|
|
|
|
|
default:
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
if ([self updateNetWorkStatus:net]) {
|
|
|
[self updateImmediUploadDicStatus];
|
|
|
}
|
|
|
|
|
|
}];
|
|
|
break;
|
|
|
case AFNetworkReachabilityStatusReachableViaWiFi:
|
|
|
net = kNetWorkStatusWIFI;
|
|
|
break;
|
|
|
|
|
|
default:
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
if ([self updateNetWorkStatus:net]) {
|
|
|
[self updateImmediUploadDicStatus];
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
// 更新网络状态
|
...
|
...
|
|