Ios 为什么在Swift中从同一部iPhone中删除应用时,我的唯一设备ID会发生变化?

Ios 为什么在Swift中从同一部iPhone中删除应用时,我的唯一设备ID会发生变化?,ios,swift,iphone,udid,Ios,Swift,Iphone,Udid,我使用以下代码获取iPhone的当前设备ID: let deviceId: String = (UIDevice.current.identifierForVendor?.uuidString)! …但当我从同一部手机上删除应用程序时,其ID正在更改。为什么? 在其他设备中安装应用程序时,必须更改设备ID 我该怎么做?请帮我编写代码。这就是苹果设计它的方式。发件人: 在iOS设备上安装同一供应商的应用程序或其他应用程序时,此属性中的值保持不变。当用户从设备中删除该供应商的所有应用程序并随后重

我使用以下代码获取iPhone的当前设备ID:

 let deviceId: String = (UIDevice.current.identifierForVendor?.uuidString)!
…但当我从同一部手机上删除应用程序时,其ID正在更改。为什么?

在其他设备中安装应用程序时,必须更改设备ID


我该怎么做?请帮我编写代码。

这就是苹果设计它的方式。发件人:

在iOS设备上安装同一供应商的应用程序或其他应用程序时,此属性中的值保持不变。当用户从设备中删除该供应商的所有应用程序并随后重新安装其中一个或多个应用程序时,该值将发生变化。当使用Xcode安装测试生成或在使用即席分发的设备上安装应用程序时,该值也会更改。因此,如果您的应用程序将此属性的值存储在任何位置,您应该优雅地处理标识符更改的情况


这就是苹果设计它的方式。发件人:

在iOS设备上安装同一供应商的应用程序或其他应用程序时,此属性中的值保持不变。当用户从设备中删除该供应商的所有应用程序并随后重新安装其中一个或多个应用程序时,该值将发生变化。当使用Xcode安装测试生成或在使用即席分发的设备上安装应用程序时,该值也会更改。因此,如果您的应用程序将此属性的值存储在任何位置,您应该优雅地处理标识符更改的情况


谢谢,但我需要一个手机的设备ID。。。就像我在同一台设备上删除或重新安装应用程序一样,它不应该改变。但如果我在另一部手机上安装应用程序,它可能会改变。。我怎样才能做到那样。。请建议meA标准方法是在钥匙链中存储UUID。这将在应用程序删除/重新安装期间保留,但如果设备被删除,则不会保留。@Paulw11如何添加密钥链。。请把答案贴出来。我通常会用“谢谢”之类的词,但我需要一个手机的设备ID。。。就像我在同一台设备上删除或重新安装应用程序一样,它不应该改变。但如果我在另一部手机上安装应用程序,它可能会改变。。我怎样才能做到那样。。请建议meA标准方法是在钥匙链中存储UUID。这将在应用程序删除/重新安装期间保留,但如果设备被删除,则不会保留。@Paulw11如何添加密钥链。。请把答案贴出来。我通常用