gpt4 book ai didi

ios - 文件管理器未从旧应用程序中清除

转载 作者:行者123 更新时间:2023-11-29 01:07:12 26 4
gpt4 key购买 nike

您好,我的代码中有一个应用程序,可以将文件加载到蓝牙设备中,但似乎如果我为新版本的应用程序更改该文件,如果我重新安装它,它不会更新它。我必须实际删除应用程序并重新安装。有人知道为什么吗?是否有一些缓存存储?

   NSString *fileInDocuments = [documentsDirectory  stringByAppendingPathComponent:@"samplefile_pack.bin"];
NSLog(@"File: %@", fileInDocuments);
if ([fileManager fileExistsAtPath:fileInDocuments ] == NO) {
NSString *resourcePath = [[NSBundle mainBundle] pathForResource:@"samplefile_pack" ofType:@"bin"];
[fileManager copyItemAtPath:resourcePath toPath:fileInDocuments error:&error];
}

最佳答案

我假设您的应用程序的 v1 与问题中发布的应用程序的 v2 具有相同的代码。假设这是真的,那么您看到的行为就非常有意义。

用户运行您的应用程序的 v1。该文件不在 Documents 文件夹中,因此它是从应用程序包中复制的。现在,每次他们运行您的应用程序时,该文件都会存在并使用文档中的副本。

现在用户更新到您应用的 v2。进行相同的检查。该文件已存在于文档中,因此不会复制任何内容。

由于您的问题意味着您希望在第一次运行应用程序 v2 时安装此文件的更新副本,因此您需要检测用户当前是否在 Documents 文件夹中拥有 v1 或 v2 中的文件。

有几种方法可以解决这个问题。一种选择是将文件重命名为 samplefile_pack2.bin 之类的名称。然后您可以检查新文件名。您还可以检查旧的,如果有意义的话将其删除。

关于ios - 文件管理器未从旧应用程序中清除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36212324/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com