Ios 当internet从非活动状态变为活动状态时发送请求Afnetworking 3.0
如何做到这一点,当互联网到来时,发送请求,然后排队等待。 我的会话管理器代码是这样的Ios 当internet从非活动状态变为活动状态时发送请求Afnetworking 3.0,ios,objective-c,afnetworking-3,Ios,Objective C,Afnetworking 3,如何做到这一点,当互联网到来时,发送请求,然后排队等待。 我的会话管理器代码是这样的 - (void)communicateUsingPOSTMethod:(NSString*)pBaseURL parameterDictionary:(id)pParameterDictionary success:(void(^)(id successResponse))pSuccessCallback failure:(void(^)(NSError* erro
- (void)communicateUsingPOSTMethod:(NSString*)pBaseURL parameterDictionary:(id)pParameterDictionary
success:(void(^)(id successResponse))pSuccessCallback failure:(void(^)(NSError* error))pFailiureCallback {
NSMutableURLRequest *req = [[AFJSONRequestSerializer serializer] requestWithMethod:@"POST" URLString:pBaseURL parameters:pParameterDictionary error:nil];
[req setValue:@"text/plain" forHTTPHeaderField:@"Content-Type"];
[req setValue:@"application/json" forHTTPHeaderField:@"Accept"];
[req addValue:@"text/plain" forHTTPHeaderField:@"Accept"];
if ([GSCommonUtil isUserLoggedIn]) {
[req setValue:authenticationHeader forHTTPHeaderField:@"Authorization"];
[req setValue:[GSCommonUtil currentTimeZoneId] forHTTPHeaderField:@"Accept-Timezone"];
}
NSError *error;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:pParameterDictionary options:0 error:&error];
NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
[req setHTTPBody:[jsonString dataUsingEncoding:NSUTF8StringEncoding]];
[[_sessionManager dataTaskWithRequest:req completionHandler:^(NSURLResponse * _Nonnull response, id _Nullable responseObject, NSError * _Nullable error) {
if (!error) {
pSuccessCallback(responseObject);
} else {
pFailiureCallback(error);
}
}] resume];
}
+ (BOOL)isNetworkConnected {
Reachability *internet = [Reachability reachabilityWithHostName:@"www.google.com"];
NetworkStatus netStatus = [internet currentReachabilityStatus];
bool netConnection = false;
switch (netStatus) {
case NotReachable: {
netConnection = false;
break;
}
case ReachableViaWWAN: {
netConnection = true;
break;
}
case ReachableViaWiFi: {
netConnection = true;
break;
}
}
return netConnection;
}
我正在使用可达性类检查internet连接。
看起来像这样
- (void)communicateUsingPOSTMethod:(NSString*)pBaseURL parameterDictionary:(id)pParameterDictionary
success:(void(^)(id successResponse))pSuccessCallback failure:(void(^)(NSError* error))pFailiureCallback {
NSMutableURLRequest *req = [[AFJSONRequestSerializer serializer] requestWithMethod:@"POST" URLString:pBaseURL parameters:pParameterDictionary error:nil];
[req setValue:@"text/plain" forHTTPHeaderField:@"Content-Type"];
[req setValue:@"application/json" forHTTPHeaderField:@"Accept"];
[req addValue:@"text/plain" forHTTPHeaderField:@"Accept"];
if ([GSCommonUtil isUserLoggedIn]) {
[req setValue:authenticationHeader forHTTPHeaderField:@"Authorization"];
[req setValue:[GSCommonUtil currentTimeZoneId] forHTTPHeaderField:@"Accept-Timezone"];
}
NSError *error;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:pParameterDictionary options:0 error:&error];
NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
[req setHTTPBody:[jsonString dataUsingEncoding:NSUTF8StringEncoding]];
[[_sessionManager dataTaskWithRequest:req completionHandler:^(NSURLResponse * _Nonnull response, id _Nullable responseObject, NSError * _Nullable error) {
if (!error) {
pSuccessCallback(responseObject);
} else {
pFailiureCallback(error);
}
}] resume];
}
+ (BOOL)isNetworkConnected {
Reachability *internet = [Reachability reachabilityWithHostName:@"www.google.com"];
NetworkStatus netStatus = [internet currentReachabilityStatus];
bool netConnection = false;
switch (netStatus) {
case NotReachable: {
netConnection = false;
break;
}
case ReachableViaWWAN: {
netConnection = true;
break;
}
case ReachableViaWiFi: {
netConnection = true;
break;
}
}
return netConnection;
}
有很多建议说,使用aNetworkReachabilityManager
。它将如何帮助我实现目标
做这件事的正确步骤是什么?我想你需要的是观察你的网络。(对不起,我只有Swift示例代码)