Ios 登录api在第一次尝试时未命中服务器,导致其进入故障块
无论何时,只要在第一次尝试中单击登录按钮,它总是会进入故障块(互联网连接不是问题),在第二次尝试中,它工作得绝对正常……有人能告诉我们实际的问题是什么吗Ios 登录api在第一次尝试时未命中服务器,导致其进入故障块,ios,objective-c,afnetworking,Ios,Objective C,Afnetworking,无论何时,只要在第一次尝试中单击登录按钮,它总是会进入故障块(互联网连接不是问题),在第二次尝试中,它工作得绝对正常……有人能告诉我们实际的问题是什么吗 AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; manager.responseSerializer = [AFJSONResponseSerializer serializer]; manager.requestSerializer = [AFJSONReques
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
manager.responseSerializer = [AFJSONResponseSerializer serializer];
manager.requestSerializer = [AFJSONRequestSerializer serializer];
[manager.requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[manager POST:urlll parameters:json progress:nil success:^(NSURLSessionDataTask* task, id responseObject) {
int tip=0;
int bit=0;
NSDictionary * myUserDictionary = responseObject;
BOOL auth=[[myUserDictionary objectForKey:@"isAuth"]boolValue]; [GeneralHelper HideActivityIndicator:self.currentActivityloginView];
if(auth == YES)
{
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[prefs setObject:[myUserDictionary objectForKey:@"FullName"] forKey:@"FullName"];
[prefs setObject:[myUserDictionary objectForKey:@"EmpID"] forKey:@"EmpID"];
[prefs setObject:[myUserDictionary objectForKey:@"EmailID"] forKey:@"EmailID"];
[prefs setObject:[myUserDictionary objectForKey:@"FirstName"] forKey:@"FirstName"];
[prefs setObject:[myUserDictionary objectForKey:@"LastName"] forKey:@"LastName"];
[prefs setObject:[myUserDictionary objectForKey:@"UserStatus"] forKey:@"UserStatus"];
[prefs setObject:[myUserDictionary objectForKey:@"UserID"] forKey:@"UserID"] ;
[prefs setObject:[myUserDictionary objectForKey:@"ManualRead"] forKey:@"ManualRead"] ;
[self CanUserRescheduleCheck];
//Clear notifications
[[UIApplication sharedApplication] setApplicationIconBadgeNumber: 0];
[[UIApplication sharedApplication] cancelAllLocalNotifications];
/*REMOVE THE FOLLOWING LINE TO ENABLE PROMPT FOR MANUAL*/
[prefs setObject:@"1" forKey:@"ManualRead"];
/////////////
bit = [[prefs objectForKey:@"ManualRead"]intValue];
tip = [[myUserDictionary objectForKey:@"ManualRead"] intValue];
if (bit==0)
{
UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"warning" message:@"Have You Read The Manual?" delegate:self cancelButtonTitle:@"YES" otherButtonTitles:@"NO", nil];
[alert show];
}
if (bit==1)
{
_MasterVC= [[MasterViewController alloc]initWithNibName:@"MasterViewController" bundle:nil];
[_loginView removeFromSuperview];
// self.refappdele.window.rootViewController=_MasterVC;
//[TestFlight passCheckpoint:@"LoginSuccess"];
[RefHelper SetMasterRef:_MasterVC];
[RefHelper GetAppRef].window.rootViewController=_MasterVC;
}
AppDelegate* delegate = (AppDelegate*)[UIApplication sharedApplication].delegate;
[delegate startLocationService];
dispatch_async( dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
[self registerDeviceToken];
});
}
else
{
[DialogAlerter ErrorAlerter:[NSString stringWithFormat:@"The Login failed with following error: %@",[myUserDictionary objectForKey:@"AuthMessage"]]];
NSLog(@"************* ERROR OCCURED HERE *******************");
NSLog(@"isAuth: %i", auth);
}
} failure:^(NSURLSessionDataTask *operation, NSError *error) {
NSLog(@"Response: %@",error);
[GeneralHelper HideActivityIndicator:self.currentActivityloginView];
[DialogAlerter ErrorAlerter:@"A Request Error Occured: Please Try Again or Check your network connectivity"];
//[TestFlight passCheckpoint:[error localizedDescription]];
}];
什么是错误响应消息?响应消息包含来自Web API的字符串格式的消息。我建议检查响应中的所有数据和元数据(状态代码、标题、内容等)。此外,如果第一次响应的内容类型是字符串,而您等待Json,则响应中出现了错误内容类型的问题。我认为如果可能的话,这不是问题。例如,它将永远不会成功,而第二次尝试中则不是这样。它工作正常。。。