我最近在我之前为iOS发布的应用中发现了一个错误。我正在使用不正确的元数据变量保存某些内容,这会导致通知是每月而不是每天。
这很容易解决,它只涉及循环所有当前保存的对象并将1更改为0.但是,在修复错误的更新期间,我最好能够执行此操作。有没有办法将代码作为更新的一部分运行?
否则我想下一个解决问题的最佳方法是在下次打开应用程序时运行循环。
我在网上浏览过,并且只找到了解决方案,这些解决方案涉及在应用启动时运行一个代码。因此,我想知道我是否遗漏了一些东西,因为如果他们需要重新配置他们的数据保存方式或等效数据,这似乎是许多应用程序需要发生的事情。
答案 0 :(得分:1)
如果您没有使用核心数据并重写轻量级迁移以在那里进行更改,那么唯一的方法是使用用户默认值并检查您知道不存在的var,运行代码,然后添加var以便不再运行它。
func updateDB() {
if !UserDefaults.standard.bool(forKey: MyProject.DBFixKey) {
// Fix DB
UserDefaults.standard.set(true, forKey: MyProject.DBFixKey)
}
}