【问题标题】:Application UUID changes with app update in iOS应用程序 UUID 随 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;
}
【问题讨论】:
标签:
ios
sqlite
ionic-framework
ionic3
【解决方案1】:
存储需要在应用安装之间持久保存的 UUID 的更好方法是使用钥匙串。
钥匙串不仅会在更新之间持续存在 - 还会在应用安装之间持续存在。事实上 - 您甚至可以完全删除该应用程序,它仍然存在。
只有从头开始完全设置设备实际上会给你一个新的价值。
有一个问题(取决于您如何构建 Keychain 域)不同的 Provisioning Profiles 可能会获得一个新的 Keychain(但旧的仍然存在)。
我确实建议使用开源软件来管理钥匙串本身。真是……怎么说呢……与很多现代代码和约定不同。
另请注意 - 如果您想跨设备共享,您甚至可以使用 iCloud 钥匙串,并使用 Appgroups 在同一部手机上的应用程序之间共享。