即使在卸载应用程序后仍存在持久性设备标识符

agr*_*986 2 iphone identification udid ipad ios

在我的iPhone/iPad应用程序的用例中,有一个投票系统,一个设备可以将其投票一次发送到服务器.因此我的服务器需要识别用户的设备.我不希望用户注册帐户,因为这会使应用程序变得复杂.但是,我找不到有效的解决方案.

  • 不推荐使用UDID
  • 我认为获取MAC地址会使应用审核流程拒绝您的应用
  • 我尝试使用创建自己的UUID [[NSUUID UUID] UUIDString],然后使用存储它NSUserDefaults,但如果用户卸载应用程序,设置将消失
  • identifierForVendor 用户卸载应用程序时也会重置
  • 我考虑过advertisingIdentifier但因为我没有将它用于广告,我认为它也会被应用审核流程拒绝

我并不是要求在任何情况下采用防弹解决方案.只是一个即使用户卸载应用程序也能运行的解决方案.因为我可以生成自己的UUID,我想我的问题可以归结为:如何为应用程序卸载幸存的应用程序保存数据?

但是,如果您有任何其他方法,请随时通知我.谢谢.

小智 7

将UUID保存到钥匙串中.