Я пытаюсь очистить, когда приложение вот-вот прекратит/войдет в фон.Почему UIWebView не загружает NSURLRequest в applicationWillTerminate: в моем делете приложения?
Но, когда следующий код называется,
- (void)applicationWillTerminate:(UIApplication *)application
{
NSURL* url = [NSURL URLWithString:@"http://www.mysite.com/mobile/home?sysmethod=proclogout&systype=mobile&pagetype=jquerymobile"];
[self.webView loadRequest:[[NSURLRequest alloc] initWithURL:logoutURL]];
}
... запрос начинает загрузку, но никогда не заканчивается. Я прочитал в документах Apple, что приложения имеют ~ 5 секунд, чтобы закончить то, что они делают, когда вызвано applicationWillTerminate:.
Я не верю, что процесс проходит примерно так долго, так как я загружаю этот же запрос в другое место приложения, и это всегда происходит всего за миллисекунды.
Я попытался это как синхронно, так и асинхронен, без везения либо образом.
Спасибо за любые мысли!
Маловероятно, что 'applicationWillTerminate:' даже называется. Вы подтвердили, что это называется? И ваше приложение убито. Какой смысл обновлять веб-представление в то время? В следующий раз, когда пользователь загрузит ваше приложение, он будет запущен новым. – rmaddy
applicationWillTerminate будет вызываться только в том случае, если ваше приложение переходит в фоновый режим (единственный вариант, нажав кнопку «Главная» устройства), а «Приложение не работает в фоновом режиме» в файле info.plist вашего приложения установлено в «YES». Иначе это никогда не будет вызвано. Вы используете что-то подобное? –
@AyanSengupta Есть случаи, когда 'applicationWillTerminate' будет вызываться из фона - по крайней мере, с iOS 7. Я не уверен, когда именно, но я думал, что то же самое, пока iOS 7 не выйдет, и мое собственное приложение начало иметь этот метод делегирования называемой при определенных неизвестных условиях. – rmaddy