应用程序UUID随iOS中的应用程序更新而更改

应用程序UUID随iOS中的应用程序更新而更改,ios,sqlite,ionic-framework,ionic3,Ios,Sqlite,Ionic Framework,Ionic3,我将下载文件的路径存储在sqlite db中,当我更新应用程序时,它的UUID会更改,但数据不会移动到新容器中。因此,该路径现在基本上是无效的。我使用iExplorer检查了文件是否仍然存在,它们确实存在 platform.Is("iOS"){ this.localdirectory = this.file.dataDirectory+filename; } else { this.localdirectory = this.file.externalDataDirectory+filename

我将下载文件的路径存储在sqlite db中,当我更新应用程序时,它的UUID会更改,但数据不会移动到新容器中。因此,该路径现在基本上是无效的。我使用iExplorer检查了文件是否仍然存在,它们确实存在

platform.Is("iOS"){
this.localdirectory = this.file.dataDirectory+filename;
}
else
{
this.localdirectory = this.file.externalDataDirectory+filename;
}

存储应用程序安装之间需要持久化的UUID的更好方法是使用密钥链

密钥链不仅在更新之间存在,而且在应用程序安装之间也存在。事实上,你甚至可以删除整个应用程序,但它仍然存在。 只有完全从头开始设置设备,才能真正为您提供一个新的值

有一个难题(取决于您构建密钥链域的方式),不同的配置文件可能会获得一个新的密钥链(但旧的密钥链仍然存在)

我确实建议使用开源来管理钥匙链本身。顺便说一句,它真的。。。我该怎么说。。。与许多现代规范和惯例不同。 还要注意的是,如果你想在设备间共享,你甚至可以使用iCloud keychain,应用组可以在同一部手机上的应用间共享