Rem*_*hem 26
没有这样的事,抱歉.
您可以做的最好的事情是检查UIApplicationWillTerminateNotification通知,但更重要的是保存应用程序的状态(例如在服务器上),当它转换到后台并且交叉时,用户不会在应用程序未运行时删除它.因为一旦您的应用关闭,您就不再拥有任何控制权.
编辑:由于你想在删除应用程序时清除钥匙串的内容,我建议你看一下这个问题.基本上,一些答案所建议的是,删除时不会删除钥匙串的内容,而是在用户首次使用NSUserDefaults启动应用程序时.
编辑:Luis Ascorbe评论了一个想法:使用Push Notification的反馈服务(/sf/answers/553843181/)当然,这远非完美(并非所有用户都订阅了通知,通知令牌可能会失效)由于其他原因,等等)但这仍然需要考虑.
编辑:从iOS 10.3 Beta 2开始,删除应用程序时,钥匙串数据似乎不再保留.
小智 5
我们无法确切知道用户何时删除了应用程序。然而,我今天遇到了一种情况来检测特定于设备和用户的应用程序的卸载(只有在特定情况下才会知道)。
以下场景可能会帮助您需要根据用户和设备删除数据:如果您正在为您的应用程序使用 REST API 服务和身份验证,请确保执行此操作以跟踪它。
请注意,只有当您的应用程序中有服务调用并且最初存在一些身份验证时,此逻辑才有效。此外,只有当同一用户尝试登录同一设备时我们才能知道这一点。通过此逻辑无法得知其他用例中应用程序的卸载。
希望这种逻辑可以帮助某人,因为我们现在正在使用这种逻辑。我是新手。如果我错了,请指导。