У меня есть требование. Я использую экран входа в приложение. Приложение не должно даже отображать экран входа в систему, как только пользователь выполнил вход, если пользователь не войдет в систему. Я новичок в Objective-C
. Может кто-нибудь, пожалуйста, помогите мне сделать это.Как приложение будет помнить меня Кто я нахожусь в ios?
Спасибо заранее.
Это мой Логин Кнопка Code.I не знаю, где это сделать ..
- (IBAction)LoginButton:(id)sender
{
@try
{
email = emailTextField.text;
password=passwordTextField.text;
NSLog(@"The email %@ and Password is %@ " , emailTextField.text,passwordTextField.text);
if ([ emailTextField.text isEqualToString:@""] || [passwordTextField.text isEqualToString:@""])
{
UIAlertView *LoginAlert=[[UIAlertView alloc]initWithTitle:@"Fields Empty" message:@"Please Enter the your creadentials" delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil];
[LoginAlert show];
}
else
{
NSString *urlString =[NSString stringWithFormat:@"{\"Email\":\"%@\",\"Password\":\"%@\"}",emailTextField.text,passwordTextField.text];
NSLog(@"the post url %@",urlString);
NSString *post = urlString;
NSString *url=[NSString stringWithFormat:@"http://"];
NSLog(@"The whole url %@ ", url);
NSData *postData = [post dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES];
NSString *postLength = [NSString stringWithFormat:@"%lu", (unsigned long)[postData length]];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:[NSURL URLWithString:url]];
[request setHTTPMethod:@"POST"];
NSString *authStr = [NSString stringWithFormat:@"%@:%@", @"", @""];
NSData *authData = [authStr dataUsingEncoding:NSUTF8StringEncoding];
NSString *authValue = [NSString stringWithFormat:@"Basic %@", [authData base64EncodedStringWithOptions:0]];
NSLog(@"%@",authValue);
[request setValue:authValue forHTTPHeaderField:@"Authorization"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:postData];
NSError *error;
NSHTTPURLResponse *response;
NSData *urlData=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
id json = [NSJSONSerialization JSONObjectWithData:urlData options:0 error:nil];
NSLog(@"json %@ ", json);
if ([[json valueForKey:@"Status"] isEqualToString:@"Sucess"])
{
NSString *LoggedPersonID =[json valueForKey:@"PersonID"];
NSLog(@"the logged person ID is %@", LoggedPersonID);
[[NSUserDefaults standardUserDefaults] setObject:LoggedPersonID forKey:@"PersonIDUserDefaults"];
[[NSUserDefaults standardUserDefaults] synchronize];
//[self performSegueWithIdentifier:@"LoginSeque" sender:self];
[self CalculateWeekTwo];
if (_SecondJsonData != nil)
{
[self MyNotificationMethod];
[self performSegueWithIdentifier:@"LoginSeque" sender:self];
}
else
{
UIAlertView *alert =[[UIAlertView alloc]initWithTitle:@"Error in Connection" message:@"Please check your network connectivity" delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil];
[alert show];
}
}
else if ([[json valueForKey:@"Status"] isEqualToString:@"Error"] || json == nil)
{
UIAlertView *LoginAlert=[[UIAlertView alloc]initWithTitle:@"Login Failed" message:@"Please make sure you have entered the correct details" delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil];
[LoginAlert show];
}
}
//[[NSUserDefaults standardUserDefaults] setObject:@"10940" forKey:@"PersonIDUserDefaults"];
[[NSUserDefaults standardUserDefaults] synchronize];
//emailTextField.text=9416;
}
@catch (NSException *exception)
{
NSLog(@"exception %@", exception);
UIAlertView *alert =[[UIAlertView alloc]initWithTitle:@"Network Error" message:@"Please try later" delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil];
[alert show];
}
@finally {
NSLog(@"what do i do here");
}
//[self performSegueWithIdentifier:@"LoginSeque" sender:self];
}
Спасибо SVMRAJESH .. – iworld
Используйте 'NSUserDefaults' или' Keychain' или 'Database' –
Я использовал его, но он снова собирается в Loginscreen. – iworld