我是ios开发的新手,所以请原谅我是否在问一个愚蠢的问题。
我需要检查设备目录中是否存在同一应用程序的先前安装中的sql
文件。如果是,那么我需要获取该文件而不是创建新文件。但重新安装应用程序后,应用程序的bundle文件夹会发生变化。所以我猜不出以前安装的应用程序包文件夹的名称。我试图将它保存在设备的其他地方,但它不允许我。请建议我解决方案。
答案 0 :(得分:0)
你要求的是不可能的。如果删除了某个应用,则其所有文件也会被删除。在iOS中,没有用于存储文件的应用程序中立位置。当应用程序仅更新时,更新将从应用程序的角度“就地”发生,并且所有以前的文件都可用。
如果您希望文件在删除重新安装周期中存在,则必须使用云服务,例如iCloud,Dropbox或Google Drive。
答案 1 :(得分:0)
删除应用后。应用程序包和文档目录以及所有文件(包括SQLite文件)都将被删除。你必须从API获取所有数据。
答案 2 :(得分:0)
在iOS中,每个应用程序都是一个沙盒。此Sandbox由Application bundle和Mutable部分组成,您可以在其中存储数据库以及在应用程序生命周期内发生变异的其他文件。
删除应用程序时,将删除整个Sandbox。唯一没有删除的是您存储在钥匙串中的数据。
更新应用程序时,只会更新应用程序包,并且不会触及可变部分。因此,当应用程序已经存在时重新安装(技术上更新设备上的现有应用程序),您可以从同一位置找到相同的文件。
答案 3 :(得分:0)
您可以做一件事,您可以在远程服务器上每天备份该文件,当您重新安装应用程序时检查该文件是否存在于服务器上(如果存在),而不是下载其他创建新文件。