Ios 当应用程序进入后台/活动状态时,安全地暂停/恢复远程UIWebView WebSocket
我的应用程序主要是一个全屏UIWebView。它目前没有实现任何方法来处理UIWebView中WebSockets活动的暂停/恢复 理论上,我的应用程序可以阻止WebView做任何事情,只需刷新页面?我不知道这是不是最好的方法,这就是为什么我在这里 每当我按下physical Home(物理主页)按钮,等待一段时间,并试图通过按下应用图标并进入应用程序来恢复应用程序时,应用程序就会崩溃。应用程序通常会崩溃,然后再次恢复到主屏幕。当我再次点击应用程序图标时,应用程序会重新启动,就像设备启动后第一次打开一样 在崩溃期间,我在调试信息中看到了如下内容 线程7 WebThread:EXC\u BAD\u访问(代码=1,地址=0x5) void std::_1::_push_heap_front(WebCore::TimerHeapIterator, WebCore::TimeRheaperator,WebCore::TimerHeapLessThanFunction&, std::_u1::迭代器特征::差异类型) +194 我不知道该怎么办,我的应用程序委托中显然没有为“ApplicationIdentinterBackground”或“ApplicationIDBecMeactive”或任何其他状态进行任何设置,因为我不确定以某种方式“暂停”内容并“恢复”它的最佳方法是什么,甚至不知道如何进行设置。您可以在JS中停止它 从ObjC收听应用程序状态更改事件(UIApplicationWillResignActiveNotification或UIApplicationIdentinterBackgroundNotification) 在回调内部,您将调用stringByEvaluatingJavaScriptFromString来停止WebSocketIos 当应用程序进入后台/活动状态时,安全地暂停/恢复远程UIWebView WebSocket,ios,iphone,objective-c,uiwebview,websocket,Ios,Iphone,Objective C,Uiwebview,Websocket,我的应用程序主要是一个全屏UIWebView。它目前没有实现任何方法来处理UIWebView中WebSockets活动的暂停/恢复 理论上,我的应用程序可以阻止WebView做任何事情,只需刷新页面?我不知道这是不是最好的方法,这就是为什么我在这里 每当我按下physical Home(物理主页)按钮,等待一段时间,并试图通过按下应用图标并进入应用程序来恢复应用程序时,应用程序就会崩溃。应用程序通常会崩溃,然后再次恢复到主屏幕。当我再次点击应用程序图标时,应用程序会重新启动,就像设备启动后第一次
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(willResignActive) name:UIApplicationWillResignActiveNotification object:nil];
-(void)willResignActive
{
[m_webView stringByEvaluatingJavaScriptFromString:@"stopWS();"]; // stopWS is implemented in JS
}