当app force退出或崩溃时如何执行注销功能

时间:2012-08-03 21:07:09

标签: objective-c ios web-applications

我想在app强制退出或意外崩溃时执行注销功能。要执行此任务,我需要调用Web服务从服务器端数据库中删除我的信息。但是当app强制退出或崩溃时,我无法调用Web服务。所以请帮我解决这个问题。

  

applicationWillTerminate

  

applicationWillResignActive

委托方法对我不起作用!

谢谢!

3 个答案:

答案 0 :(得分:3)

有一些方法可以让应用程序退出,在那里拦截并导致代码执行变得困难(可能是不可能的)。最好让主机系统检测到断开连接或超时,并从该方自动注销用户。

答案 1 :(得分:2)

两种解决方法可能有效:

  1. 合并超时功能。如果用户未在特定时间范围内处理信息或触发活动代码进行注册,请自动向Web服务请求删除他/她/您的信息。

  2. 在应用程序的后台运行一个小的重复代码。尽可能减少内存占用。使代码经常向服务器发送一点或一字节的信息。如果您愿意,服务器可以自动删除它。如果此“信号”停止,请自动向Web服务请求删除他/她/您的信息。

答案 2 :(得分:1)

通过“强制戒烟”我认为你的意思是系统杀死了应用程序。在这种情况下,将调用applicationWillTerminate方法。来自Apple文档:

  

...可以在应用程序的情况下调用此方法   正在后台运行(未暂停),系统需要   因某种原因终止

我假设当用户从任务切换器中杀死应用程序时(您需要测试),会发生同样的情况。

如果应用程序因故障的性质而崩溃,则不会调用任何appDelegate方法。