我有一个用Obj-C / Swift混合编写的应用程序,它使用UUID标识设备。我正在使用另一个具有相同包ID的项目在Swift中重写整个应用程序。但是,当我尝试使用Xcode的新版本更新Xcode的旧项目版本时,新应用程序UUID也有所不同。我缺少什么?因为我使用的是相同的捆绑商品ID,所以应该不一样吗?
答案 0 :(得分:2)
UUID表示UIDevice.current.identifierForVendor?.uuidString
吗?
如果是这样,则在Apple开发人员页面中记录的某些情况下会发生变化。
https://developer.apple.com/documentation/uikit/uidevice/1620059-identifierforvendor
在iOS设备上安装了该应用程序(或来自同一供应商的另一个应用程序)时,此属性中的值保持不变。当用户从设备上删除该供应商的所有应用程序,然后重新安装其中一个或多个应用程序时,该值将更改。使用Xcode安装测试版本或使用临时发行版在设备上安装应用程序时,该值也会更改。因此,如果您的应用将此属性的值存储在任何位置,则应妥善处理标识符更改的情况。
答案 1 :(得分:0)
我的糟糕,它确实保持不变,旧的应用程序将一个保存在钥匙串中,甚至在重新安装后仍在使用它。