ios - 当我在 Swift 中从同一部 iPhone 中删除应用程序时,为什么我的唯一设备 ID 会发生变化?
问题描述
我正在使用以下代码获取 iPhone 的当前设备 ID:
let deviceId: String = (UIDevice.current.identifierForVendor?.uuidString)!
...但是当我从同一部手机中删除应用程序时,它的 ID 正在改变。为什么?
当我在其他设备上安装应用程序时,必须更改设备 ID。
我怎么做?请帮我写代码。
解决方案
这就是苹果设计它的工作方式。从文档中:
当应用程序(或来自同一供应商的另一个应用程序)安装在 iOS 设备上时,此属性中的值保持不变。当用户从设备中删除该供应商的所有应用程序并随后重新安装其中一个或多个应用程序时,该值会发生变化。当使用 Xcode 安装测试版本或使用 ad-hoc 分发在设备上安装应用程序时,该值也可能发生变化。因此,如果您的应用程序将此属性的值存储在任何地方,您应该优雅地处理标识符更改的情况。
推荐阅读
- machine-learning - 评估 RNN 训练值
- python - 如何在 df python 的一个组中获得连续几周?
- json - 读取 json 文件子级别
- c++ - c++ opencv 2.4.9 imread 然后 imwrite,颜色变了
- libreoffice-writer - 如果样式为“文本正文”,则无法应用自动更正
- python - 如何选择元素中的文本,复制它,然后将其粘贴到页面的其他位置?Selenium webdriver python;
- reactjs - Next.js - Store 不适用于动态导入组件的子组件
- opencv - 使用 python opencv 库的自适应阈值错误
- object-detection-api - 使用 TensorFlow2 对象检测 API 检测各种纵横比对象
- c# - 使用 Visual Studio 2019 社区模拟 Linq 扩展方法是不可能的吗?