有没有办法在从AppStore升级应用程序时删除所有数据/缓存

时间:2015-12-08 14:22:53

标签: ios app-store

当从AppStore更新到我的应用程序的最新版本时,我的用户的一小部分会得到与WKWebView相关的丑陋bug。 当应用程序被移除并重新安装时,该错误消失了。 有没有办法在升级过程中删除旧的数据/缓存?

2 个答案:

答案 0 :(得分:0)

更新应用时,系统会删除所有代码。如果您的应用程序更改了其未使用的示例,例如NSUserDefaults,则必须在代码中添加逻辑以处理存在的“旧”数据。

答案 1 :(得分:0)

不确定这是否有效,但这里有两种可能的方法:

1。

当您的应用加载时,在AppDelegate中检查didLaunchWithOptions()内的已保存数据:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    if let data = userDefaults.valueForKey("<yourKey>") {
        userDefaults.removeObjectForKey("<yourKey>")
    }

    return true
}

当然,您必须插入应用程序中使用的密钥来保存内容,而不是<yourKey>

2

您还可以尝试以下代码,这将删除NSUserDefaults的所有内容,这将使密钥不必要:

NSUserDefaults.standardUserDefaults().removePersistentDomainForName(NSBundle.ma‌​inBundle().bundleIdentifier!)

希望有所帮助:)