2

我有一个应用程序,我在其中实现了登录、注销和一些自定义操作。某些操作只能在用户登录时执行,但如果用户在登录后删除应用程序并且没有注销,那么我无法让其他用户知道他不再是用户并且所有只有在此用户再次安装应用程序并登录后,才能执行与登录相关的操作。

在应用程序删除之前是否有任何方法被调用?这样我就可以触发该函数中的注销方法。当用户从设备中删除应用程序时,有什么方法可以使用委托方法或通知注销用户?

4

2 回答 2

5

不幸的是,删除应用程序时没有调用任何方法。

我更喜欢这样的解决方案,您在用户退出应用程序时注销用户,并在他再次打开应用程序时进行安静登录,而不会注意到他已注销。因此,您需要存储凭据。

因此,您可以确保用户在不使用该应用程序时始终处于注销状态。

但在我看来,你应该改变你的后端,这样用户是否安装了应用程序就无关紧要了。但这可能取决于您的用例。

于 2013-04-04T15:18:11.043 回答
2

无法知道用户何时删除了他们的应用程序。您可以NSUserDefaults在他们登录后存储他们的登录名,并在您尝试使用他们必须登录才能使用的服务时检查它是否存在。如果应用程序已被删除并重新安装(或新安装),则 NSUserDefaults 值将为 nil,如果他们是已建立的用户,它将等于他们的用户名。

[[NSUserDefaults standardUserDefaults] setObject:@"the_user_name" forKey:@"kUsername"];
[[NSUserDefaults standardUserDefaults] synchronize];
于 2013-04-04T15:16:22.387 回答