Objective c 应用程序强制退出或崩溃时如何执行注销功能

Objective c 应用程序强制退出或崩溃时如何执行注销功能,objective-c,ios,web-applications,Objective C,Ios,Web Applications,我想在应用程序强制退出或意外崩溃时执行注销功能。要执行此任务,我需要调用web服务以从服务器端数据库中删除我的信息。但当app force退出或崩溃时,我无法调用web服务。所以请帮我解决这个问题 应用程序将终止 及 应用程序WillResignActive 委托方法对我不起作用 谢谢 有一些方法可以让应用程序在很难(可能不可能)拦截并导致代码执行的情况下退出。您最好让主机系统检测到断开连接或超时,并从该端自动注销用户。有一些方法可以让应用程序在难以(可能不可能)拦截并导致代码执行的地方退出。您

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

应用程序将终止

应用程序WillResignActive

委托方法对我不起作用


谢谢

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

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

通过“强制退出”,我认为您的意思是系统会终止应用程序。在这种情况下,
应用程序将终止
方法将被调用。从苹果文档:

…在应用程序 正在后台运行(未挂起),系统需要 出于某种原因终止它

我假设当用户从任务切换器中终止应用程序时也会发生同样的情况(您需要进行测试)

如果应用程序崩溃,那么根据故障的性质,将不会调用任何appDelegate方法。

通过“强制退出”,我假定您的意思是系统将关闭应用程序。在这种情况下,
应用程序将终止
方法将被调用。从苹果文档:

…在应用程序 正在后台运行(未挂起),系统需要 出于某种原因终止它

我假设当用户从任务切换器中终止应用程序时也会发生同样的情况(您需要进行测试)


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

两种解决方法可能会起作用:

  • 包含一个超时功能。如果用户未在特定时间范围内处理信息或触发活动代码进行注册,请自动请求web服务删除他/她/您的信息

  • 在应用程序的后台不断运行一个小的循环代码。尽可能减少内存占用。让代码每隔一段时间向服务器发送一位或一字节的信息。如果您愿意,服务器可以自动删除它。如果此“信号”停止,则自动请求web服务删除他/她/您的信息


  • 有两种解决办法可能有效:

  • 包含一个超时功能。如果用户未在特定时间范围内处理信息或触发活动代码进行注册,请自动请求web服务删除他/她/您的信息

  • 在应用程序的后台不断运行一个小的循环代码。尽可能减少内存占用。让代码每隔一段时间向服务器发送一位或一字节的信息。如果您愿意,服务器可以自动删除它。如果此“信号”停止,则自动请求web服务删除他/她/您的信息


  • 由于终止的性质,我怀疑在强制退出或崩溃时是否有某些委托(或除低级错误处理外的任何应用程序代码)被调用…我怀疑是否有某些委托(或除低级错误处理外的任何应用程序代码)由于终止的性质,在强制退出或崩溃时调用…我的问题是我们如何在这种情况下调用web服务我的问题是我们如何在这种情况下调用web服务您无法从应用程序内部可靠地执行此操作。web服务应该能够处理客户突然离开时的情况。但是我们如何通过应用程序将此信息通知服务器一些应用程序(如ebay)已经完成了这些事情,而您似乎没有。服务器应该检测到连接断开或超时。示例:在苹果的开发者论坛上,如果你让浏览器处于非活动状态一段时间,你必须再次登录……主机软件在没有浏览器帮助的情况下完成这项工作。你无法从应用程序内部可靠地完成这项工作。web服务应该能够处理客户突然离开时的情况。但是我们如何通过应用程序将此信息通知服务器一些应用程序(如ebay)已经完成了这些事情,而您似乎没有。服务器应该检测到连接断开或超时。示例:在苹果的开发者论坛上,如果你让浏览器处于非活动状态一段时间,你必须再次登录…主机软件在没有浏览器帮助的情况下完成此操作。