В настоящее время у меня есть основной вид и вид входа. Я обрабатываю аутентификацию в своем браузере (javascript injection и web scraping), а затем загружаю основное представление с нужным контентом. Проблема в том, что я хочу отобразить кнопку выхода на основной экран. Я хочу, чтобы он отправил запрос url загрузки в uiwebview в loginview (logout url). Я хочу сделать это без отображения loginview. Это возможно?Выполнение запроса WebView в другом представлении при отображении другого вида?
Спасибо!
Это то, что я делаю в моем LoginView:
- (void)webViewDidFinishLoad:(UIWebView *) webView {
if ([[NSURL URLWithString:@"https://arandomservice.com/signin"] isEqual:[NSURL URLWithString:[WebView stringByEvaluatingJavaScriptFromString: @"document.URL"]]]) {
NSLog(@"Authentication Successful");
//Save Username
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:usernameField.text forKey:@"username"];
[defaults synchronize];
//Save Password
[defaults setObject:passwordField.text forKey:@"password"];
[defaults synchronize];
//Close Login Screen
[self dismissViewControllerAnimated:YES completion:NULL];
}
else {
NSLog(@"Authentication Failed.");
}
}
Теперь позже, когда я хочу, чтобы пользователь выйти я хочу, чтобы они попали UIButton в другой точке зрения, что бы сделать следующее:
NSURL *signInUrl = [NSURL URLWithString:@"https://arandomservice.com/logout"];
[self loadURL:nil withURL:signInUrl];
Я хочу, чтобы отправить это на вход в систему. Какой был бы лучший способ сделать это? (PS Имейте в виду, что позже я буду использовать брелок вместо NSuserdefaults).
Спасибо за ответ Kamarshad! Итак, для шага 1 вы бы сказали, что введите первую строку в viewDidLoad моего loginView или моего webViewDidStartLoad? – KingPolygon
@ user1886754 да, вы должны, но дайте мне знать, существует ли 'loginview' в памяти? – Kamarshad
Каждый контроллер вида. LoginViewController - это модальный вид. Я смущен. поэтому сообщение «Сообщение» должно войти в мой логин или мой основной вид? – KingPolygon