应用程序 UUID 随 iOS 中的应用程序更新而变化
Posted
技术标签:
【中文标题】应用程序 UUID 随 iOS 中的应用程序更新而变化【英文标题】:Application UUID changes with app update in iOS 【发布时间】:2017-12-26 14:12:34 【问题描述】:我将下载文件的路径存储在 sqlite db 中,当我更新应用程序时,它的 UUID 会发生变化,但数据不会移动到新容器中。所以路径现在基本上是无效的。我使用 iExplorer 检查了文件是否仍然存在,它们确实存在。
platform.Is("ios")
this.localdirectory = this.file.dataDirectory+filename;
else
this.localdirectory = this.file.externalDataDirectory+filename;
【问题讨论】:
【参考方案1】:存储需要在应用安装之间持久保存的 UUID 的更好方法是使用钥匙串。
钥匙串不仅会在更新之间持续存在 - 还会在应用安装之间持续存在。事实上 - 您甚至可以完全删除该应用程序,它仍然存在。 只有从头开始完全设置设备实际上会给你一个新的价值。
有一个问题(取决于您如何构建 Keychain 域)不同的 Provisioning Profiles 可能会获得一个新的 Keychain(但旧的仍然存在)。
我确实建议使用开源软件来管理钥匙串本身。真是……怎么说呢……与很多现代代码和约定不同。 另请注意 - 如果您想跨设备共享,您甚至可以使用 iCloud 钥匙串,并使用 Appgroups 在同一部手机上的应用程序之间共享。
【讨论】:
以上是关于应用程序 UUID 随 iOS 中的应用程序更新而变化的主要内容,如果未能解决你的问题,请参考以下文章
如何唯一识别iOS设备而不是使用UUID和UDID [重复]