iOS-删除应用程序时未删除应用程序文件
我们遇到了奇怪的行为iOS-删除应用程序时未删除应用程序文件,ios,database,sqlite,Ios,Database,Sqlite,我们遇到了奇怪的行为 从试飞中安装应用程序 应用程序在NSDocumentDirectory中创建本地sqlite数据库 用户删除应用程序 用户从试飞重新安装应用程序(更新版本) 应用程序在应用程序中看到旧数据库 这种情况已经发生过好几次了。我的理解是,应用程序一旦被删除,就应该删除所有与之相关的内容。但这种情况时有发生 以前有人见过这个问题吗?我想这是由iCloud备份和恢复功能引起的。如果未明确设置“排除备份”键,iOS将自动备份文档目录中的文件。在您的情况下,以前的数据库已在iCloud中
以前有人见过这个问题吗?我想这是由iCloud备份和恢复功能引起的。如果未明确设置“排除备份”键,iOS将自动备份文档目录中的文件。在您的情况下,以前的数据库已在iCloud中备份,当您重新安装应用程序时,iCloud恢复了数据库文件。这就是您看到旧数据的原因。如果不需要备份应用程序的数据库文件,请使用以下代码: Swift 4: 旧版本代码
参考资料:非常感谢。我会的。
do
{
var resourceValues = URLResourceValues()
resourceValues.isExcludedFromBackup = true
try databaseURL.setResourceValues(resourceValues)
}
catch
{
print(error.localizedDescription)
}
do
{
// Database URL
try databaseURL.setResourceValue(true, forKey:NSURLIsExcludedFromBackupKey)
}
catch let error as NSError
{
print("Error excluding \(URL.lastPathComponent) from backup \(error)");
}