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

     2023-03-08     71

关键词:

【中文标题】从 AppStore 升级应用程序时有没有办法删除所有数据/缓存【英文标题】:Is there a way to remove all the data/caches when upgrading app from AppStore 【发布时间】:2015-12-08 14:22:53 【问题描述】:

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

【问题讨论】:

“旧代码”?你的意思是“旧数据”,对吧? 你的意思是用户保存的数据? 我不知道这个旧东西是什么。我没有编写旧代码,也没有它。也许有一些缓存什么的...... 你不知道你说的是数据还是代码? @Luda 你可以参考这个链接。只需将沙箱清除为应用程序的默认状态即可。 ***.com/questions/4793278/… 【参考方案1】:

当您更新应用程序时,所有代码都会被删除。如果您的应用更改了使用方式,例如未删除的数据,例如 NSUserDefaults,您必须在代码中添加逻辑来处理存在的“旧”数据。

【讨论】:

我要删除所有内容!所有的缓存,所有的一切。升级时,我希望从头开始安装应用程序。我该怎么做? @LinusG。是的,我知道。这正是我的意思。代码被删除。数据不是。 哦,好吧,我认为她很困惑,但意味着数据。 @Luda 您必须找出导致错误的数据并编写代码来解决与您的新版本不兼容的数据的可能性。 我会小心你对“是”这个词的强调......为你改变了它;)【参考方案2】:

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

1.

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

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

当然,您必须插入应用程序中用于保存内容的密钥,而不是 &lt;yourKey&gt;

2.

你也可以试试下面的代码,它会清除 NSUserDefaults 的所有内容,这样就不需要密钥了:

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

希望有帮助:)

【讨论】:

但它是否也会清除缓存? 你有钥匙吗?然后它会的。 @Luda 取决于“缓存”的含义。我们在这里谈论的是 NSUserDefault 还是应用程序中的其他数据可能导致错误? 我认为第二点足以从 NSUserDefaults 中删除所有内容。但那又如何呢?也应该这样做吗? ***.com/questions/4793278/… 看起来也是一个不错的方法。你应该试试看。顺便说一句,你能重现这个错误吗?

运行 Xamarin.UITests 时有没有办法让应用程序选择语言或文化

】运行Xamarin.UITests时有没有办法让应用程序选择语言或文化【英文标题】:IsthereawaytogettheAppselectedlanguageorculturewhenrunningXamarin.UITests【发布时间】:2015-10-3018:23:03【问题描述】:我们目前正在整个我们使用的应用程序中添加本地... 查看详情

从输入流Java读取时有没有办法超时? [复制]

】从输入流Java读取时有没有办法超时?[复制]【英文标题】:IsthereawaytohaveatimeoutwhenreadingfromainputstreamJava?[duplicate]【发布时间】:2011-12-1108:49:44【问题描述】:可能重复:IsitpossibletoreadfromaJavaInputStreamwithatimeout?我注意到当我试图... 查看详情

没有流量时有没有办法让应用引擎关闭

...GoogleCloud中的AppEngine和Docker来处理MuxVideo请求。问题是当应用程序正在开发中并且应用程序上几乎没有流量时,我被收取了超过40美元的费用。有没有办法在没有发送请求时关闭AppEngine 查看详情

有没有办法打开应用商店更新选项卡?

...开应用商店更新选项卡?【英文标题】:Isthereanywaytoopenappstoreupdatestab?【发布时间】:2017-03-0207:41:14【问题描述】:有时我们会强制用户从AppStore更新他们的应用。如果有新的强制版本可用,我们会显示警报并从AppStore打开应用页... 查看详情

从 App Store 中删除应用程序

】从AppStore中删除应用程序【英文标题】:RemovetheAppfromtheAppStore【发布时间】:2014-03-0807:05:07【问题描述】:我想从AppStore中删除我的应用,该应用当前标记为“准备出售”。我找不到这方面的任何文档,并且在iTunesConnect的“管... 查看详情

使用 AngularJS 路由时有没有办法预加载模板?

...g?【发布时间】:2013-09-1321:55:27【问题描述】:加载Angular应用程序后,我需要一些模板可以离线使用。这样的事情会很理想:$routeProvider.when(\'/p1\',controller:controller1,templateUr 查看详情

使用 Swift 阻止从 AppStore 安装应用和删除应用

...趣了解我们是否可以使用类似方法限制从AppStore安装某些应用程序?另外,如果我们可以限制用户从设备中删除应用程序(不是从手机设置 查看详情

缩放 UIScrollView 时有没有办法获得触摸的中心点?

】缩放UIScrollView时有没有办法获得触摸的中心点?【英文标题】:IsthereawaytogetthecenterpointofthetoucheswhenzoomingaUIScrollView?【发布时间】:2011-03-2302:46:36【问题描述】:我可以缩放UIScrollView,但不确定是否可以使内容从触摸的中心点... 查看详情

迁移房间数据库时有没有办法使用迁移期间计算的变量?

...2021-06-1700:26:30【问题描述】:我正在用Java编写一个Android应用程序,并且我已经更改了我的数据库,现在我想将它迁移到新版本,但为此我需要计算一些旧值,然后将它 查看详情

有没有办法从 Firebase 中删除有关用户的所有数据?

...发布时间】:2019-07-0119:12:16【问题描述】:我在我的颤振应用程序中使用身份验证。为了重新创建情况,我从控制台中删除帐户并再次登录。但是,firebase似乎记得我以前使用该帐户登录过(在身份验证中有一个createdon字段)...... 查看详情

从应用商店删除应用

...:2010-10-0415:14:49【问题描述】:我已向appstore提交了一个应用程序。它已获得批准,现在可以出售了。现在,我想从应用商店中删除该应用。我该怎么做?【问题讨论】:【参考方案1】:我不确定是否有办法从应用商店中真正删... 查看详情

从 Appstore 中删除应用并上传具有相同名称的新应用

...间】:2018-02-2105:27:53【问题描述】:我在Appstore中有一个应用程序,我需要从销售中删除该应用程序并将其上传为新应用程序或同名记录。但我无法给出相同的名称,它显示这样的警报,您输入的应用名称已被使用。如果你有商... 查看详情

如何从 AppStore 中删除 iPhone 应用程序版本?

】如何从AppStore中删除iPhone应用程序版本?【英文标题】:howtoremovetheiPhoneapplicationversionfromtheAppStore?【发布时间】:2012-12-0111:49:29【问题描述】:我已将2.0版本上传到应用商店,必须同时支持iPhone和iPad。但之前的版本确实只支持... 查看详情

从 iPhone 应用程序链接 appStore 中的开发人员页面

】从iPhone应用程序链接appStore中的开发人员页面【英文标题】:LinkingtheDeveloperPageattheappStorefromaniPhoneApp【发布时间】:2010-07-0112:42:23【问题描述】:所以我知道如何在我的iPhone应用中打开appStore上的应用页面。有没有办法打开我... 查看详情

使用 [NSURLSessionConfiguration backgroundSessionConfiguration] 时有没有办法消除延迟?

】使用[NSURLSessionConfigurationbackgroundSessionConfiguration]时有没有办法消除延迟?【英文标题】:Isthereawaytoremovethedelaywhen[NSURLSessionConfigurationbackgroundSessionConfiguration]isused?【发布时间】:2014-02-1904:24:43【问题描述】:我正在尝试运行后... 查看详情

有没有办法使用 Vue-Router 从动态 URL 中删除目录?

...:44【问题描述】:我为保险经纪公司构建了一个vue.js网络应用程序,其中每个代理都有自己的网站,该网站是从他们的个人资料生成的。这是链接在我的vue-router索引文件中的样子"path:\'/a 查看详情

调用 RenderComponent Presentation 时有没有办法传递变量? [复制]

】调用RenderComponentPresentation时有没有办法传递变量?[复制]【英文标题】:IsthereawaytopassavariablethroughwhencallingRenderComponentPresentation?[duplicate]【发布时间】:2012-05-1223:43:25【问题描述】:可能重复:VariablesettinginDreamweavertemplateinSDLTri... 查看详情

添加到列表时有没有办法避免循环?

】添加到列表时有没有办法避免循环?【英文标题】:Isthereawaytoavoidloopswhenaddingtoalist?【发布时间】:2015-05-2305:44:15【问题描述】:我想知道这样的代码:List<String>list=newArrayList<String>();for(CustomObjectco:objects)list.add(co.getAct... 查看详情