У меня проблема с приложением.
Я создаю приложение, которое является своего рода webApp.
Итак, приложение работает на сервере, и я взаимодействую с ним через UIWebview.
Итак, позвольте мне объяснить, чего я пытаюсь достичь здесь.
На веб-странице у меня есть несколько функций Javascript, я взаимодействую с этими функциями через строкуByEvaluatingJavaScriptFromString
пример:
Код:
[webView stringByEvaluatingJavaScriptFromString:@"tagMe()"];
и сервер выполняет эту команду и делает следующее
он устанавливает URLPrefix на ServerReply: // (), и я ловлю это с помощью
- (BOOL)webViewUIWebView *)webView shouldStartLoadWithRequestNSURLRequest *)request navigationTypeUIWebViewNavigationType)navigation Type
, поэтому, если URL имеет префикс ServerReply: // он запускает функцию в моем приложении.
Пока все хорошо, все работает просто отлично, НО, когда пользователь нажимает кнопку HOME или он получает телефонный звонок. метод ApplicationDidEnterBackground будет вызван, и я хочу вызвать другую функцию JS
Код:
[webView stringByEvaluatingJavaScriptFromString:@"gettingClosed()"];
и затем сервер должен дать мне URL с префиксом SaveClientData: // (somestring)
Итак, приложение закрывается, и оно не работает ....
мой код примерно такой
Код:
//AppDelegate.m
- (void)applicationDidEnterBackground:(UIApplication *)application {
[webViewController killTrigger];
}
//webViewController. m
-(void)killTrigger{
[webView stringByEvaluatingJavaScriptFromString:@"gettingClosed()"];
}
и это не сработает, но если я это сделаю
Код:
- (void)applicationDidEnterBackground:(UIApplication *)application {
[webViewController killTrigger];
}
//webViewController. m
-(void)killTrigger{
NSLog(@"killTrigger got called");
}
я получаю сообщение журнала, когда я покидаю приложение ...
возможно ли это сделать [webView stringByEvaluatingJavaScriptFromString: @ "gettingCl osed ()"]; если мое приложение переместится в фоновый режим? или есть другой подход, чтобы получить тот же результат ...?
tnx заранее,
Барт