当从AppStore更新到我的应用程序的最新版本时,我的用户的一小部分会得到与WKWebView相关的丑陋bug。 当应用程序被移除并重新安装时,该错误消失了。 有没有办法在升级过程中删除旧的数据/缓存?
答案 0 :(得分:0)
更新应用时,系统会删除所有代码。如果您的应用程序更改了其未使用的示例,例如NSUserDefaults,则必须在代码中添加逻辑以处理存在的“旧”数据。
答案 1 :(得分:0)
不确定这是否有效,但这里有两种可能的方法:
当您的应用加载时,在AppDelegate中检查didLaunchWithOptions()
内的已保存数据:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
if let data = userDefaults.valueForKey("<yourKey>") {
userDefaults.removeObjectForKey("<yourKey>")
}
return true
}
当然,您必须插入应用程序中使用的密钥来保存内容,而不是<yourKey>
。
您还可以尝试以下代码,这将删除NSUserDefaults的所有内容,这将使密钥不必要:
NSUserDefaults.standardUserDefaults().removePersistentDomainForName(NSBundle.mainBundle().bundleIdentifier!)
希望有所帮助:)